【发布时间】:2017-03-08 10:20:17
【问题描述】:
前段时间我为 gradle 写了这个脚本 sn-p 以更改 Android Studio 生成的 apk 的名称。它使用以下数据重命名 apk:
- 风味
- 构建类型
- 版本
- 日期
在 build.gradle 中:
android {
...
buildTypes {
release {
minifyEnabled true
...
}
debug {
minifyEnabled false
}
}
productFlavors {
prod {
applicationId "com.feraguiba.myproject"
versionCode 3
versionName "1.2.0"
}
dev {
applicationId "com.feraguiba.myproject.dev"
versionCode 15
versionName "1.3.6"
}
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def project = "myProject"
def SEP = "_"
def flavor = variant.productFlavors[0].name
def buildType = variant.variantData.variantConfiguration.buildType.name
def version = variant.versionName
def date = new Date();
def formattedDate = date.format('ddMMyy_HHmm')
def newApkName = project + SEP + flavor + SEP + buildType + SEP + version + SEP + formattedDate + ".apk"
output.outputFile = new File(output.outputFile.parent, newApkName)
}
}
}
如果您今天(26-10-2016)在 10:47 进行编译,您将获得以下文件名,具体取决于您选择的风格和构建类型:
- 开发调试:myProject_dev_debug_1.3.6_261016_1047.apk
- 开发版本:myProject_dev_release_1.3.6_261016_1047.apk
- prod 调试:myProject_prod_debug_1.2.0_261016_1047.apk
- 产品发布:myProject_prod_release_1.2.0_261016_1047.apk
注意:未对齐的版本apk名称仍然是默认的。
虽然重命名工作正常并且生成了正确名称的 apk,但问题是有时当我单击“运行项目”时,Android Studio 无法在设备中安装 apk。它抱怨以下消息:
磁盘上不存在 APK 文件 C:\Users\xxx\AndroidStudioProjects\xxx\build\outputs\apk\myProject_dev_debug_1.3.6_191016_1047.apk。
安装 APK 时出错
为什么AS在生成的是“myProject_dev_debug_1.3.6_261016_1047.apk”时搜索“myProject_dev_debug_1.3.6_191016_1047.apk”???我错过了一些东西,我不知道是什么。
执行“清理项目”或“重建项目”并不能解决问题。我发现的唯一解决方法是修改脚本以稍微更改 apk 的名称。
注意:我正在使用 Android Studio 2.1.3 和 gradle 2.1.3。
【问题讨论】:
标签: android android-studio gradle apk android-productflavors