Генерировать имя apk как имя пакета в Android Studio

Студия Android будет генерировать имя apk по умолчанию как app- (release | debug) .apk.
Как сгенерировать имя файла apk так же, как имя пакета приложения, например com.example-debug.apk .

Solutions Collecting From Web of "Генерировать имя apk как имя пакета в Android Studio"

Вы можете сделать это, не используя другие задачи, задав имя archivesBaseName .

Например:

  defaultConfig { .... project.ext.set("archivesBaseName", "MyName-" + defaultConfig.versionName); } 

Вывод:

 MyName-1.0.12-release.apk 

В твоем случае:

 project.ext.set("archivesBaseName", "com.example" ); 

Попробуйте поместить это в build.gradle вашего модуля

 applicationVariants.all { variant -> variant.outputs.each { output -> def file = output.outputFile def appId = android.defaultConfig.applicationId def fileName = appId + "-" variant.buildType.name +".apk" output.outputFile = new File(file.parent, fileName) } } 

Вы можете увидеть эту ссылку . Или Illogical, чтобы переименовать ваш release|debug.apk с именем, которое вы хотите в браузере файлов.

Этот код может быть вам полезен:

 buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' applicationVariants.all { variant -> variant.outputs.each { output -> def formattedDate = new Date().format('yyyyMMddHHmmss') def newName = output.outputFile.name newName = newName.replace("app-", "$rootProject.ext.appName-") //"MyAppName" -> I set my app variables in the root project newName = newName.replace("-release", "-release" + formattedDate) //noinspection GroovyAssignabilityCheck output.outputFile = new File(output.outputFile.parent, newName) } } } debug { } } 

Наслаждайся своим кодом 🙂

Создайте файл с именем customname.gradle в каталоге верхнего уровня проекта. Вставьте в него этот код.

 android.applicationVariants.all { variant ->; def appName //Check if an applicationName property is supplied; if not use the name of the parent project. if (project.hasProperty("applicationName")) { appName = applicationName } else { appName = parent.name } variant.outputs.each { output ->; def newApkName //If there's no ZipAlign task it means that our artifact will be unaligned and we need to mark it as such. if (output.zipAlign) { newApkName = "${appName}-${output.baseName}-${variant.versionName}.apk" } else { newApkName = "${appName}-${output.baseName}-${variant.versionName}-unaligned.apk" } output.outputFile = new File(output.outputFile.parent, newApkName) }} 

Затем в градиенте вашего модуля приложения добавьте этот код

 apply from: "../customname.gradle"