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

迁移项目到AndroidX后通过Build>Build Apk(s)无法生成APK求助

可行解决方案
  • 方案1:适配ABI拆分的命名规则
    你开启了ABI拆分且生成通用APK,同一变体下会输出多个APK,原有命名规则会导致重名冲突,将注释的变体输出配置替换为以下内容即可:
android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        def abiName = output.getFilter(com.android.build.OutputFile.ABI) ?: "universal"
        outputFileName = "RAMMobile_${variant.name}-${variant.versionName}-${abiName}.apk"
    }
}
  • 方案2:关闭ABI拆分
    如果不需要按ABI分包,直接修改splits配置即可沿用原有命名逻辑:
splits {
    abi {
        enable false
        reset()
        include "arm64-v8a"
        universalApk true
    }
}
  • 方案3:版本适配校验
    当前项目compileSdk为28,需确保Android Gradle Plugin(AGP)版本为3.2.x3.6.x,配套Gradle版本为4.65.6.4,避免版本不兼容导致的变体配置错误。
  • 方案4:AGP7.0+适配新API
    如果使用7.0及以上版本AGP,使用androidComponents新API实现自定义命名:
androidComponents {
    onVariants(selector().all(), { variant ->
        variant.outputs.forEach { output ->
            def abiFilter = output.filters.find { it.filterType == com.android.build.api.variant.FilterType.ABI }
            def abiName = abiFilter ? abiFilter.identifier : "universal"
            output.outputFileName.set("RAMMobile_${variant.name}-${variant.versionName}-${abiName}.apk")
        }
    })
}

额外优化建议

  • 已注释的Fabric相关仓库、插件、依赖配置无实际作用,可直接删除减少配置加载开销
  • 删除productFlavors下Uat、Prod闭包末尾的return void语句,避免非规范语法导致的配置异常。

内容的提问来源于stack exchange,提问作者Ojas Yajnik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:24:03