Android 正在重命名gradle apk输出文件,但有2个apk
我试图根据git分支命名我的应用程序的APK文件,该分支通过向jenkins传递一个参数来工作。然而,我最终得到了两个APK,这是不可取的,因为我的一个Gradle任务将APK上传到一个分布式列表中。重命名此APK的全部目的是让接收它的人确切地知道他们看到的分支Android 正在重命名gradle apk输出文件,但有2个apk,android,gradle,android-studio,apk,android-gradle-plugin,Android,Gradle,Android Studio,Apk,Android Gradle Plugin,我试图根据git分支命名我的应用程序的APK文件,该分支通过向jenkins传递一个参数来工作。然而,我最终得到了两个APK,这是不可取的,因为我的一个Gradle任务将APK上传到一个分布式列表中。重命名此APK的全部目的是让接收它的人确切地知道他们看到的分支 buildTypes { ... feature { signingConfig signingConfigs.debug applicationVariants.all { vari
buildTypes {
...
feature {
signingConfig signingConfigs.debug
applicationVariants.all { variant ->
appendVersionNameVersionCode(variant, defaultConfig)
}
}
...
}
...
def appendVersionNameVersionCode(variant, defaultConfig) {
//check if staging variant
if(variant.name == android.buildTypes.feature.name){
def branch = hasProperty('branch') ? branch.replaceAll('origin/', '') : "UNKNOWN"
def file = variant.packageApplication.outputFile
def fileName = "myapp-FEATURE-" + branch + ".apk"
variant.packageApplication.outputFile = new File(file.parent, fileName)
}
}
然后调用gradle命令:
gradle assembleFeature --project-dir=/Path/To/myapp/ -Pbranch=origin/development
从中生成的两个文件是:
有什么想法吗?结果是,格拉德尔总是打包两个APK。一个对齐,一个不对齐 为了重命名对齐的apk文件,我必须添加以下内容:
if (variant.zipAlign) {
newName = "myapp-FEATURE-" + branch + "-ALIGNED.apk"
variant.outputFile = new File(file.parentFile, newName);
}
您确定它是variant.zipAlign而不是output.zipAlign吗?因为variant上的属性zipAlign在Android Studio/Gradle版本1.0.0上给了我一个未找到属性的错误。Gradle的最新版本已将属性“zipAlign”更改为“zipAlignEnabled”,所以您需要使用variant.zipAlignEnabled进行判断。Android Studio不会自动找到此apk并报告“本地路径不存在”错误。。我猜这是安卓工作室的bug还是?