You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Gradle到7.3.1后生成的AAR文件无.class文件问题求助

解决AGP 7.3.1升级后AAR缺失.class文件的问题

以下是针对性的排查和解决步骤:

  • 检查库模块的混淆/优化配置
    确认库模块build.gradle的buildTypes节点中,打包用的构建类型(比如release)是否误开启了minifyEnabled true却未配置合理的混淆规则——AGP 7.3.x的R8优化逻辑有调整,激进的优化可能导致所有class文件被移除。测试阶段可先将minifyEnabled设为false,重新构建AAR验证。
    同时检查是否开启了android.buildFeatures.precompileLibraryResources = true,AGP 7.3+对库资源预编译的处理有变动,暂时关闭该配置尝试。

  • 清理Gradle缓存
    执行命令清理缓存:

    ./gradlew clean  # macOS/Linux
    gradlew clean    # Windows
    

    手动删除项目根目录的.gradle文件夹及库模块的build文件夹后,重新构建库模块。缓存残留是这类异常打包问题的常见诱因。

  • 排查依赖与编译选项

    • 确认库模块的依赖中,是否有需要对外暴露的依赖被误标记为implementation而非api——虽然这更多导致依赖传递问题,但AGP版本升级后规则变动可能引发连锁反应。
    • 检查项目或模块的gradle.properties中是否新增了android.enableR8.fullMode=true,R8全模式的激进优化可能移除库的class文件,建议关闭该选项。
  • 强制指定AAR打包内容
    在库模块的build.gradle中添加配置,确保class文件被包含:

    android {
        libraryVariants.all { variant ->
            variant.outputs.each { output ->
                // 排除自动生成的R相关class,保留业务class
                output.packageLibrary.exclude('**/R.class', '**/R$*.class')
                output.packageLibrary.include('**/*.class')
            }
        }
    }
    
  • 升级AGP到同系列后续版本
    7.3.1可能存在已知的打包bug,尝试升级到AGP 7.3.2或更高的7.3.x小版本,这类问题通常会在后续补丁版本中修复。

  • 确认模块类型配置
    检查库模块build.gradle开头是否为plugins { id 'com.android.library' },避免误配置为应用模块类型。

内容的提问来源于stack exchange,提问作者Rakesh Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:55:27