[英]Android Gradle - is use splits only for release possible?
我希望“abi”使用“splits”,但僅限於發布版本。 這可能嗎? 我嘗試使用ext變量和變量“def”也默認設置為false。 對於releaseWithLog(和release),此變量在buildTypes中設置為true。
但是我不知道Gradle是如何工作的,因為當我將帶有測試消息的writeln()添加到“debug”,“releaseWithLog”和“release”並運行build時,所有消息都在輸出中,所以這確認了變量“splitsEnabled” “雖然我為調試構建了,但是設置為true - 我希望調試的值為”false“(因此不使用拆分進行調試)。
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion '20.0.0'
ext {
splitsEnabled = false
}
defaultConfig {
...
}
buildTypes {
debug {
...
}
releaseWithLog {
...
splitsEnabled = true
}
release.initWith(releaseWithLog)
release {
...
}
}
...
splits {
abi {
println(splitsEnabled)
enable splitsEnabled
reset()
include 'x86', 'armeabi-v7a', 'armeabi'
exclude 'x86_64', 'mips64', 'arm64-v8a', 'mips'
universalApk true
}
}
...
您可以使用Gradle的命令行參數或Android Studio中Gradle任務的“腳本參數:”字段輕松解決此問題。 我使用-P來定義'dbgBld'符號並將其用於調試構建,例如:
gradle -PdbgBld installDebug
我的build.gradle文件有以下splits命令:
splits {
abi {
enable !project.hasProperty('dbgBld')
reset()
include 'armeabi', 'armeabi-v7a', 'x86', 'mips'
universalApk true
}
}
現在構建版本我使用:
gradle assembleRelease
'dbgBld'符號未定義,因此splits enable字段解析為true,我得到5個APK文件。 在構建調試時,-PdbgBld已經保存在我的Android Studio配置中,並且我只獲得一個“胖”APK用於調試,這導致更快的調試構建。
格雷格
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.