【问题标题】:Renaming apk in Android Studio在 Android Studio 中重命名 apk
【发布时间】: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


    【解决方案1】:

    Gradle-fury 有一些挂钩来命名工件 + 变体 + 调试/发布 + 版本。可能值得借用或直接使用。

    https://github.com/gradle-fury/gradle-fury/blob/master/gradle/maven-support.gradle

    免责声明,我正在努力

    【讨论】:

    • 看起来很酷。但是您能否展示一些使用技巧?
    猜你喜欢
    • 1970-01-01
    • 2014-03-06
    • 2013-05-23
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多