2014-12-28 8 views
16

Ogni volta che eseguo un progetto con Android Studio (1.02) viene generato un apk senza firma che si trova nella cartella .. \ build \ outputs \ apk e ottiene automaticamente il nome "app-debug.apk"Nome apk generato da "app-debug.apk"

Voglio cambiare il nome predefinito in qualcos'altro.

È possibile? Come?

risposta

23

È possibile utilizzare applicationVariants e modificare il file di output nel build.gradle. È inoltre possibile modificare il nome in base alle proprie esigenze.

buildTypes{ 

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

} 
+1

Questo non funziona più da quando Gradle 3. – elcuco

2

La parte "app" del nome utilizza il nome della cartella del modulo dell'applicazione (l'impostazione predefinita è "app"). Vedi il link sottostante su come cambiarlo.
Why is my APK name generic?

Il prefisso 'debug' è qualcosa che si può modificare nelle impostazioni modulo a Tipi Costruire

0

Forse questa domanda (e la sua risposta accettata) sono interessanti per voi: How to set versionName in APK filename using gradle? Descrive come mettere il vostro versionName nel nome APK.

È necessario utilizzare la parte "Aggiornamento" della risposta accettata. Inoltre è necessario che versionName (in questo esempio) sia dichiarato in defaultConfig nel file build.gradle. Funziona anche se si definisce versionCode in build.gradle (come descritto qui: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Manifest-entries).

2

Se qualcuno sta cercando di cambiare il nome dell'apk al di fuori dello studio Android (solo per inviare questo file a qualcun altro, come nel mio caso), basta fare clic con il pulsante destro del mouse sul nome dell'app e modificarlo in qualsiasi modo si desideri.

14

In build.gradle (Modulo: app):

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

Questo funziona modificando il archivesBaseName -property e lavora per Gradle versione> = 2.0, ultima testata con 2.1.0.

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

Soluzione per 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

Questa dovrebbe essere la risposta accettata. –

+1

E se qualcuno è confuso da questo codice, in pratica puoi impostare 'outputFileName' su qualunque stringa tu voglia. –

Problemi correlati