2016-10-26 4 views
1

Некоторое время назад я написал этот фрагмент сценария для градиента, чтобы изменить имя apk, которое генерирует Android Studio. Это переименовывает APK со следующими данными:Переименование apk в Android Studio

  • аромата
  • тип сборки
  • версия
  • Дата

В 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, вы получите следующее имя файла в зависимости от вкуса и построить тип, который вы выбрали:

  • Dev отлаживать: myProject_ dev_debug_1.3.6 _261016_1047.apk
  • релиз DEV: myProject_ dev_release_1.3.6 _261016_1047.apk
  • прод отладки: myProject_ prod_debug_1.2.0 _261016_1047.apk
  • выпуск прод: myProject_ prod_release_1.2.0 _261016_1047.apk

Примечание: выровненным название версии APK еще один по умолчанию ,

Хотя функция переименования отлично работает, и apk генерируется с правильным именем, проблема в том, что иногда Android Studio не может установить apk в устройство, когда я нажимаю «Запустить проект». Он жалуется на следующее сообщение:

АПК файл C: \ Users \ ххх \ AndroidStudioProjects \ ххх \ построить \ выходы \ APK \ myProject_dev_debug_1.3.6_191016_1047.apk не существует на диске.

Ошибка при установке APK

Почему AS поиск "myProject_dev_debug_1.3.6_ 1016_1047.apk", когда генерируется один является "myProject_dev_debug_1.3.6_ 1016_1047.apk" ?? ? Мне что-то не хватает, и я не знаю, что.

Выполнение «чистого проекта» или «Проект перестройки» не решает проблему. Единственным обходным решением, которое я нашел, является изменение скрипта, чтобы немного изменить имя apk.

Примечание: я использую Android Studio 2.1.3 с градиентом 2.1.3.

ответ

1

Gradle-fury имеет несколько крючков, чтобы назвать как артефакты + варианты + debug/release + версию.Возможно, стоит заимствовать или использовать его прямо.

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

отказ от ответственности, я работаю на нем

+0

Это выглядит здорово. Но могли бы вы показать несколько советов, чтобы использовать его? – Fer

Смежные вопросы