Я хочу изменить имя моих выходных файлов .apk. Однако я хочу добавить «-debug» или «-release» в зависимости от типа сборки.

Вот имена выходных данных, которые мне нужны: MyApp-0.0.1-debug.apk MyApp-0.0.1-release.apk

Я не знаком с Gradle и не нашел, как это сделать, я знаю, что мне просто нужно получить доступ к buildType в следующем коде, но не могу найти, как это сделать.

В настоящее время мой вывод - «MyApp-0.0.1.apk» независимо от buildType. Как я могу изменить приведенный ниже код, чтобы изменить это?

android.libraryVariants.all { variant ->
variant.outputs.each { output ->
    def outputFile = output.outputFile
    if (outputFile != null && outputFile.name.endsWith('.aar')) {

        def fileName
        def bType = ""
        // bType = "-" + something.buildType

        fileName = "${archivesBaseName}-${project.version}${bType}.aar"
        output.outputFile = new File(outputFile.parent, fileName)
    }
}
}
0
Tom McFarlin 6 Фев 2015 в 23:51

2 ответа

Лучший ответ

Для тех, кто прибывает сюда поздно, эта версия работает для меня в апреле 2020 года .

Просто поместите этот код в свой элемент buildTypes (android или defaultConfig тоже работают).

applicationVariants.all { variant ->
      def customBuildName = ""
      if(variant.buildType.name == "release") customBuildName = "release-name.apk"
      else customBuildName = "build-name.apk"
      variant.outputs.all {
          outputFileName = customBuildName
      println("name of ${variant.buildType.name} build is ${outputFileName}")
    }
}

1
Panos Gr 24 Апр 2020 в 12:54

Тип сборки является частью варианта; вы перебираете все варианты в своем цикле. Вы можете получить имя типа сборки через:

variant.buildType.name

Вы можете найти (частично полные) документы API по адресу http: // tools .android.com / tech-docs / new-build-system / user-guide.

4
Scott Barta 6 Фев 2015 в 22:53