web-dev-qa-db-fra.com

Android: Comment changer le nom spécifique du fichier apk généré dans Android Studio?

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.apkouiPlanter-release.apkau lieu de app-debug.apk ou app-release.apk respectivement. 

Merci,

11
kgsharathkumar

É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.apkouiPlanter-release.apkfile.

9
kgsharathkumar

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é.

5
Peter

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);
           }
       }
   }
4
Anand Savjani

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")
    }
}
1
Madhukar Hebbar

Pour Android Studio 3, cela fonctionne pour moi:

applicationVariants.all { variant ->
        variant.outputs.all { output ->
            outputFileName = new File("AppName-" + variant.versionName + ".apk");
        }
}
1
Goke Obasa

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")
    }
}
0
Basi

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 .

0
Spectorsky

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)
     }
  }

}

0
Upendra Shah