Имя приложения Android Gradle Read из файла strings.xml

Я пытаюсь переименовать мои APK-файлы для каждого варианта сборки, чтобы они включали имя приложения, versionName, versionCode и номер сборки, если они присутствуют. Пока у меня все работает, кроме имени приложения.

Я хочу использовать то же значение, которое использует файл AndroidManifest.xml для android: label. Это происходит из строкового ресурса @string/app_name. Я видел возможность замены значений ресурсов с помощью:

resValue "string", "app_name", "Some new value"

Но я просто хотел бы прочитать это значение и использовать его для именования моего APK-файла.

android.applicationVariants.all { variant ->
    variant.outputs.each { output ->
        renameApk(variant, output)
    }
}

def renameApk(variant, output) {
    def apkPath = output.outputFile.parent
    def baseName = project.archivesBaseName

    baseName += "-${variant.buildType.name}"

    // add version name and version code
    baseName += "-v${variant.mergedFlavor.versionName}-${variant.mergedFlavor.versionCode}"

    // if built on jenkins ci, add jenkins build number:
    def buildNumber = System.getenv('BUILD_NUMBER')
    if (buildNumber && buildNumber.size() > 0) {
        baseName += "-b${buildNumber}"
    }

    // if the variant will not be zipAligned, specify that
    if (!output.zipAlign) {
        baseName += '-unaligned'
    }

    // set the output file
    output.outputFile = new File(apkPath, "${baseName}.apk");
}
10
задан Kevin Wallis 19 January 2017 в 13:09
поделиться