Par défaut IDE générer un apk comme le fichier app-debug.apk
ou app-release.apk
mais je dois générer le nom spécifique du Apk de l'application.
Par exemple: Mon nom d’application est iPlanter je dois donc généreriPlanter-debug.apk
ouiPlanter-release.apk
au lieu de app-debug.apk
ou app-release.apk
respectivement.
Merci,
Étape 1: Accédez à racine du projet principal, sous app , cliquez avec le bouton droit sur app et reformulez l’application en un nom spécifique (exemple iPlanter) et appuyez sur ok
Étape 2: Accédez au fichier de paramétrage du projet qui estsetting.gradle
fichier
Le fichier setting.gradle
contient
include ':app'
Il faut maintenant remplacer l'application par un nom spécifique.
Par exemple App remplacer par iPlanter dans include ': app'
include ':iPlanter'
puis projet de synchronisation, après cela, exécutez votre application. Enfin, App génère un apk du typeiPlanter-debug.apk
ouiPlanter-release.apk
file.
Il suffit d'ajouter
archivesBaseName = "NAME_YOU_WANT"
dans la partie Android {} de votre fichier Gradle.
Vous obtiendrez "NAME_YOU_WANT-release.apk" comme nom du fichier généré.
Vous pouvez utiliser ceci pour le nom de l'application avec la date et la version actuelles
Android {
def version = "2.4";
def milestone = "1";
def build = "0";
def name = getDate()+"APP NAME WHAT YOU WANT"+"v"+version
signingConfigs {
config {
….
}
}
compileSdkVersion Integer.parseInt(COMPILE_SDK)
buildToolsVersion BUILD_TOOLS_VERSION
defaultConfig {
applicationId "com.PACKAGENAME"
minSdkVersion Integer.parseInt(MIN_SDK_LIBRARY)
targetSdkVersion Integer.parseInt(TARGET_SDK)
versionCode 11
versionName "2.3"
multiDexEnabled true
}
buildTypes {
debug {
applicationVariants.all { variant ->
variant.outputs.each { output ->
def apk = output.outputFile;
def newName;
newName = apk.name.replace("-" + variant.buildType.name, "")
.replace(project.name, name);
newName = newName.replace("-", "-" + version + "-" + milestone +
"-" + build + "-");
output.outputFile = new File(apk.parentFile, newName);
}
}
}
Essayez ce code:
defaultConfig{
applicationVariants.all { variant ->
changeAPKName(variant, defaultConfig)
}
}
def changeAPKName(variant, defaultConfig) {
variant.outputs.each { output ->
if (output.zipAlign) {
def file = output.outputFile
output.packageApplication.outputFile = new File(file.parent, "Your APK NAME")
}
def file = output.packageApplication.outputFile
output.packageApplication.outputFile = new File(file.parent, "Your APK NAME")
}
}
Pour Android Studio 3, cela fonctionne pour moi:
applicationVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = new File("AppName-" + variant.versionName + ".apk");
}
}
Pour Android Studio 3.1, cela fonctionne pour moi:
Android {
...............
...............
applicationVariants.all { variant ->
changeAPKName(variant, defaultConfig)
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
.................................
.................................
}
et
def changeAPKName(variant, defaultConfig) {
variant.outputs.all { output ->
outputFileName = new File("xxxxx" + variant.versionName +".apk")
}
}
Sur mon PC, il suffit de renommer (par le biais de refactor) app le nom souhaité yourName . Ensuite, include ':app'
dans le fichier setting.grandle est remplacé par include ':yourName'
. Cependant, dans mon cas, je dois fermer/rouvrir Android Studio à cause d'une erreur de synchronisation. Par conséquent, obtenez apk quelque chose comme yourName-debug.apk et yourName-release.apk .
Cela vous aidera. Ce code créera un nom d'application tel que iPlanter-release.apk ou iPlanter-debug.apk
buildTypes {
applicationVariants.all { variant ->
variant.outputs.each { output ->
project.ext { appName = 'iPlanter' }
def newName = output.outputFile.name
newName = newName.replace("app-", "$project.ext.appName-")
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}