2016-10-26 2 views
1

Vor einiger Zeit schrieb ich dieses Skript-Snippet für Gradle, um den Namen der apk, die Android Studio generiert, zu ändern. Es benennt die apk mit folgenden Daten:Umbenennen apk in Android Studio

  • Geschmack
  • Buildtyp
  • Version
  • Datum

Im build.gradle:

android { 

    ... 

    buildTypes { 
     release { 
      minifyEnabled true 
      ... 
     } 
     debug { 
      minifyEnabled false 
     } 
    } 

    productFlavors { 
     prod { 
      applicationId "com.feraguiba.myproject" 
      versionCode 3 
      versionName "1.2.0" 
     } 
     dev { 
      applicationId "com.feraguiba.myproject.dev" 
      versionCode 15 
      versionName "1.3.6" 
     } 
    } 

    applicationVariants.all { variant -> 
     variant.outputs.each { output -> 
      def project = "myProject" 
      def SEP = "_" 
      def flavor = variant.productFlavors[0].name 
      def buildType = variant.variantData.variantConfiguration.buildType.name 
      def version = variant.versionName 
      def date = new Date(); 
      def formattedDate = date.format('ddMMyy_HHmm') 

      def newApkName = project + SEP + flavor + SEP + buildType + SEP + version + SEP + formattedDate + ".apk" 

      output.outputFile = new File(output.outputFile.parent, newApkName) 
     } 
    } 
} 

Wenn Sie heute (26-10-2016) um 10:47 kompilieren, erhalten Sie die folgenden Dateinamen je nach Geschmack und bauen Typ Sie gewählt haben:

  • dev Debug: myProject_ dev_debug_1.3.6 _261016_1047.apk
  • dev Release: myProject_ dev_release_1.3.6 _261016_1047.apk
  • prod Debug: myProject_ prod_debug_1.2.0 _261016_1047.apk
  • prod Release: myProject_ prod_release_1.2.0 _261016_1047.apk

Hinweis: Der nicht ausgerichtete Version apk Name ist immer noch der Standard eines .

Obwohl die Umbenennung funktioniert und die apk mit dem richtigen Namen generiert wird, ist das Problem, dass Android Studio manchmal nicht in der Lage ist, die apk im Gerät zu installieren, wenn ich auf "Projekt ausführen" klicke. Sie wirft die folgende Meldung:

Die APK-Datei C: \ Benutzer \ xxx \ AndroidStudioProjects \ xxx \ \ Ausgänge bauen \ apk \ myProject_dev_debug_1.3.6_191016_1047.apk existiert nicht auf der Festplatte.

Fehler beim APK installieren

Warum AS Suche funktioniert für "myProject_dev_debug_1.3.6_ 1016_1047.apk", wenn die erzeugte ist "myProject_dev_debug_1.3.6_ 1016_1047.apk" ?? ? Mir fehlt etwas und ich weiß nicht was.

Ein "Clean-Projekt" oder ein "Rebuild-Projekt" lösen das Problem nicht. Die einzige Problemumgehung, die ich gefunden habe, ist, das Skript zu modifizieren, um den Namen der apk leicht zu ändern.

Hinweis: Ich verwende Android Studio 2.1.3 mit Gradle 2.1.3.

Antwort

Verwandte Themen