it-swarm.com.de

Android: Wie kann ich einen bestimmten Namen der generierten APK-Datei in Android Studio ändern?

Standardmäßig erzeugen IDE eine apk-Datei wie app-debug.apk oder app-release.apk-Datei, aber ich muss einen bestimmten Namen der Apk der App generieren.

Beispiel: Mein Anwendungsname ist iPlanter . Daher muss ichiPlanter-debug.apkoderiPlanter-release.apkanstelle von app-debug.apk bzw. app-release.apk generieren. 

Vielen Dank,

11
kgsharathkumar

Schritt 1: Gehe zu root des Hauptprojekts , unter app Rechtsklick auf App und Refactor der App in einen bestimmten Namen ( Beispiel iPlanter ) und OK drücken

Schritt 2: Gehe zur Projekteinstellungsdatei, die setting.gradle file

setting.gradle Datei enthält

include ':app'

Jetzt muss die App durch einen bestimmten Namen ersetzt werden.

Zum Beispiel App durch iPlanter ersetzen in inklusive ': app' sieht es wie folgt aus

include ':iPlanter'

dann Synchronisiere Projekt, danach starte deine Anwendung. Schließlich App erzeugen eine apk wie iPlanter-debug.apk oder iPlanter-release.apk Datei.

10
kgsharathkumar

Einfach hinzufügen

   archivesBaseName = "NAME_YOU_WANT"

im Android {} - Teil Ihrer Gradle-Datei.

Als Name der generierten Datei erhalten Sie "NAME_YOU_WANT-release.apk".

5
Peter

Sie können dies für den App-Namen mit aktuellem Datum und Version verwenden

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

Versuchen Sie diesen 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

Sie müssen nur eine Codezeile in Gradle auf App-Ebene hinzufügen.

  1. Nur für den Namen

archivesBaseName = "NAME_YOU_WANT"

 defaultConfig {

       applicationId "com.PACKAGENAME"

       minSdkVersion Integer.parseInt(MIN_SDK_LIBRARY)

       targetSdkVersion Integer.parseInt(TARGET_SDK)

       versionCode 11

       versionName "2.3"

       multiDexEnabled true

       archivesBaseName = "NAME_YOU_WANT"


    }
  1. Name mit Version

archivesBaseName = "NAME_YOU_WANT" + versionName

defaultConfig {

   applicationId "com.PACKAGENAME"

   minSdkVersion Integer.parseInt(MIN_SDK_LIBRARY)

   targetSdkVersion Integer.parseInt(TARGET_SDK)

   versionCode 11

   versionName "2.3"

   multiDexEnabled true

   archivesBaseName = "NAME_YOU_WANT" + versionName
}
1
Deepak gupta

Für Android Studio 3 funktioniert das für mich:

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

Für Android Studio 3.1 funktioniert das für mich:

Android {
     ...............
     ...............

     applicationVariants.all { variant ->
            changeAPKName(variant, defaultConfig)
        }

  compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
       }

      .................................
      .................................
     }

und 

def changeAPKName(variant, defaultConfig) {
    variant.outputs.all { output ->
        outputFileName = new File("xxxxx" + variant.versionName +".apk")
    }
}
0
Basi

Auf meinem PC reicht es aus, app in den gewünschten Namen yourName umzubenennen. Danach wird include ':app' in setting.grandle in include ':yourName' geändert. In meinem Fall muss ich jedoch Android Studio wegen eines Synchronisierungsfehlers schließen/erneut öffnen. Als Ergebnis erhalten Sie apk etwas wie yourName-debug.apk und yourName-release.apk .

0
Spectorsky

Das wird dir helfen. Dieser Code erstellt einen App-Namen wie iPlanter-release.apk oder 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