2014-12-28 6 views
16

Jedes Mal, wenn ich ein Projekt mit Android Studio laufen (1.02) ist es ein nicht signiertes apk erzeugen, die in sich .. \ build \ Ausgänge \ apk Ordner und erhalten den Namen von Standard „app-debug.apk“Veränderung erzeugt apk Namen von „app-debug.apk“

ich möchte sonst, dass die Standardnamen, um etwas zu ändern.

Ist es möglich? Wie?

Antwort

23

Sie können applicationVariants verwenden und ändern Sie die Ausgabedatei im build.gradle ändern können. Sie können den Namen auch entsprechend Ihren Anforderungen ändern.

buildTypes{ 

    applicationVariants.all { variant ->        
     variant.outputs.each { output ->        
      output.outputFile = file("$project.buildDir/apk/test.apk") 
     }                
    } 

} 
+1

Dies funktioniert nicht mehr, da gradle 3. – elcuco

2

Die ‚App‘ Teil des Namens verwendet den Ordnernamen des Moduls Ihrer Anwendung (Standard ist ‚App‘). Sehen Sie den folgenden Link, wie Sie das ändern können.
Why is my APK name generic?

Die ‚debug‘ Präfix ist etwas, das Sie in den Moduleinstellungen bei Build-Typen

0

Vielleicht diese Frage (und seine akzeptierte Antwort) sind für Sie interessant: How to set versionName in APK filename using gradle? Es beschreibt, wie Ihre version in die APK Namen setzen.

Sie haben den ‚Update‘ Teil der akzeptierten Antwort zu verwenden. Außerdem benötigen Sie den Versionsnamen (in diesem Beispiel), der in Ihrer defaultConfig in der Datei build.gradle deklariert ist. Es funktioniert auch, wenn Sie versionCode im build.gradle definieren (wie hier beschrieben: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Manifest-entries).

2

Wenn jemand sucht apk Namen außerhalb des Android-Studio zu ändern (nur sonst diese Datei an jemanden zu senden, wie in meinem Fall), gerade Recht, den Namen App klicken und ändern Sie es auf, was Sie wollen.

14

In build.gradle (Modul: app):

android { 
    ... 
    defaultConfig { 
     ... 
     setProperty("archivesBaseName", "MyNewAppNameGoesHere") 
    } 
} 

Dies funktioniert durch die archivesBaseName -property modifiziert und arbeitet für Gradle Version> = 2,0, zuletzt mit 2.1.0 getestet.

1
defaultConfig { 

    applicationId "com.dcarl661.awesomelayout" 

    minSdkVersion 14 

    targetSdkVersion 25 

    versionCode 1 

    versionName "1.0" 

    //here put it in the section where you have the version stuff 
    setProperty("archivesBaseName", "AwesomeLayout") 

} 
3

Lösung für gradle3:

android.applicationVariants.all { variant -> 
    variant.outputs.all { 
     outputFileName = applicationId; 
     outputFileName += "-v" + android.defaultConfig.versionName; 
     if (variant.buildType.name == "release") { 
      outputFileName += ".apk"; 
     } else { 
      outputFileName += "-SNAPSHOT.apk"; 
     } 
    } 
} 
+0

Dies sollte die akzeptierte Antwort. –

+1

Und wenn jemand durch diesen Code verwechselt wird, im Grunde können Sie einstellen, 'outputFileName', was auch immer String Sie wollen. –