owe*_*owe 5 android gradle android-studio build.gradle
我有一个具有不同风格的应用程序 - 每种风格都有两个buildTypes.
重命名我的清单中的一些行后,我也重命名了apk.一切正常 - 我只是想知道为什么我两次获得同样的答案?一旦没有重命名,一旦重命名......
具有不同名称的相同应用的简短示例:
这是我的build.gradle文件的代码:
// *** OVERRIDE data in MANIFEST ***
android.applicationVariants.each { variant ->
variant.processManifest.doLast {
overrideDataInManifest(variant)
}
}
def overrideMapsKey(buildVariant){
def appName = getAppName(buildVariant)
// override line ... this is not necessary to this question
renameAPK(buildVariant, appName)
}
// *** RENAME APK ***
def renameAPK(buildVariant, appName){
def apk = buildVariant.packageApplication.outputFile;
def newName = "";
// get data for apk renaming
def versionName = android.defaultConfig.versionName
def versionNameSuffix = buildVariant.buildType.versionNameSuffix
if(versionNameSuffix.toString().equals("null"))
versionNameSuffix = ""
def buildTypeOfApp= buildVariant.buildType.name
if (buildVariant.zipAlign) {
newName = "etscanner-" + appName + "-" + buildTypeOfApp.toUpperCase() + "-v" + versionName + versionNameSuffix + ".apk"
}else{
newName = "etscanner-" + appName + "-" + buildTypeOfApp.toUpperCase() + "-v" + versionName + versionNameSuffix + "-ALIGNED" + ".apk"
}
buildVariant.packageApplication.outputFile = new File(apk.parentFile, newName);
}
Run Code Online (Sandbox Code Playgroud)
只是想知道最新情况,如果可以完成相同的任务而不需要两个apks.
sha*_*aca 11
zipAlign选项设置为true时,将始终有两个APK文件用于变体.首先,gradle构建原始APK文件,然后对其进行zipalign并生成优化版本而不删除原始版本.
buildVariant.packageApplication.outputFile是构建过程的中间产品,在我的观察中,一个总是未对齐的APK文件.
buildVariant.outputFile是应用zipAlign选项的最终输出.
另一方面,您可能想要更正build.gradile文件,它实际上将APK文件的未对齐版本重命名为"ALIGNED"版本,并保持zipalign APK文件不变.这是我的修改版本:
if (buildVariant.zipAlign) {
newName = "etscanner-" + appName + "-" + buildTypeOfApp.toUpperCase() + "-v" + versionName + versionNameSuffix + "-ALIGNED.apk"
buildVariant.outputFile = new File(apk.parentFile, newName);
}
newName = "etscanner-" + appName + "-" + buildTypeOfApp.toUpperCase() + "-v" + versionName + versionNameSuffix + "-UNALIGNED" + ".apk"
buildVariant.packageApplication.outputFile = new File(apk.parentFile, newName);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5178 次 |
| 最近记录: |