在build.gradle中使用CPU ABI拆分时,不考虑Android产品的口味



我想根据http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits,但是我只想为特定的产品口味拆分APK。

因此,我的build.gradle文件具有以下产品风格plainmarket。实际上,我希望在构建market风格时执行APK分割。

android {
    productFlavors {
        plain {
        }
        market {
            splits {
                abi {
                    enable true
                    reset()
                    include 'armeabi', 'armeabi-v7a', 'x86', 'mips'
                    universalApk true
                }
            }
        }
    }
}

然而,当我调用gradle assemblePlainDebugassembleMarketDebug时,它们都会产生多个APK。上面的配置有问题吗?

我正在使用com.android.tools.build:gradle:1.2.3

我一直在寻找这样做的方法,但还没有找到一个可靠的解决方案。这与在解析buildTypes和productFlavors之前必须运行拆分有关。

安卓Gradle-使用拆分只为发布可能吗?这个问题有一个我认为有用的答案。它基本上依赖于一个项目属性,在通过命令行或连续集成环境构建时传入,以设置是否启用split apk选项。

我是这样用的:

splits {
    abi {
        enable project.hasProperty('splitApk')
        reset()
        include 'x86', 'armeabi-v7a', 'mips', 'armeabi'
        universalApk true
    }
}

然后根据你正在构建的错误或构建类型,你可以包括:

./gradlew --project-prop splitApk assembleMarketDebug

这应该只在明确告知时才启用apk拆分,并且应该对其他一切保持禁用状态。

相关内容

最新更新