在Android Studio中重命名apk

在Android Studio中重命名apk,android,android-studio,gradle,apk,android-productflavors,Android,Android Studio,Gradle,Apk,Android Productflavors,不久前,我为gradle编写了这个脚本片段,以更改Android Studio生成的apk的名称。它使用以下数据重命名apk: 风味 构建类型 版本 日期 在build.gradle中: android { ... buildTypes { release { minifyEnabled true ... } debug { minify

不久前,我为gradle编写了这个脚本片段,以更改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编译,您将根据您选择的风格和构建类型获得以下文件名:

  • 开发调试:我的项目开发调试_1.3.6_261016_1047.apk
  • 开发版本:myProject\ustrong>开发版本1.3.6\u 261016\u 1047.apk
  • 产品调试:我的项目产品调试(1.2.0)261016(u 1047.apk)
  • 产品发布版:myProject\ustrong>产品发布版\u 1.2.0\u 261016\u 1047.apk
注意:未对齐的版本apk名称仍然是默认名称

尽管重命名工作正常,并且生成的apk名称正确,但问题是,当我单击“运行项目”时,有时Android Studio无法在设备中安装apk。它发出以下信息:

磁盘上不存在APK文件C:\Users\xxx\AndroidStudioProjects\xxx\build\outputs\APK\myProject\u dev\u debug\u 1.3.6\u 191016\u 1047.APK

安装APK时出错

当生成的是“myProject\u dev\u debug\u 1.3.6261016\u 1047.apk”时,为什么AS搜索“myProject\u dev\u debug\u 1.3.6191016\u 1047.apk”???我错过了一些东西,我不知道是什么

执行“清理项目”或“重建项目”并不能解决问题。我发现的唯一解决方法是修改脚本,以便稍微更改apk的名称


注意:我正在使用Android Studio 2.1.3和gradle 2.1.3,gradle fury有一些钩子来命名工件+变体+调试/发布+版本。可能值得借用或直接使用


免责声明,我正在研究它

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


免责声明,我正在处理它

它看起来很酷。但是你能给我一些使用技巧吗?它看起来很酷。但是你能展示一些使用技巧吗?