2014-10-21 1 views
5

Sono sicuro che questa è la domanda stupida del giorno, ma qui va ... Ho un'app che ho bisogno di distribuire "in house" per essere utilizzata dalle vendite in una fiera. Ho creato con successo un file apk autofirmato, con firma zip e rilascio utilizzando Android Studio (in Windows 7). Il nome del file di output è semplicemente app-release.apk. Perché il nome della mia app non è prefisso al file di output come MyApplication-release.apk? Sospetto che abbia qualcosa a che fare con la struttura delle cartelle in Android Studio dov'è: MyApplication -> app -> src -> etc, etc. Ho provato a rifattare la cartella "app" in modo che corrisponda al nome della mia app, ma dà un errore. Sono sicuro che mi manca qualcosa di semplice.Perché il mio nome APK è generico?

risposta

13

Sì, utilizza il nome della cartella del modulo dell'applicazione. Se si rinomina la cartella, è inoltre necessario aggiornare il file settings.gradle con il nome aggiornato; il refactoring non lo cambia automaticamente lì.

Dopo aver modificato settings.gradle, assicurarsi di risincronizzare il progetto con i file Gradle. Dovrebbe mettere un banner in cima alle finestre dell'editor per ricordarti che devi farlo; in caso contrario, fare clic sul pulsante nella barra degli strumenti.

+0

Quando ho provato per la prima volta, mi ha dato un errore. La seconda volta ha funzionato, ma ho dovuto risincronizzare Gradle due volte dopo aver aggiornato settings.gradle. Un po 'buggy, ma ora sembra tutto a posto. – john8791

+0

Un'altra domanda. Come posso evitare che ciò accada in futuro? La finestra di dialogo Crea nuovo progetto in Android Studio non richiede il nome del modulo, quindi per impostazione predefinita è "app" – john8791

+0

Non penso che sia possibile impostarlo quando si crea un nuovo progetto. Devi modificarlo manualmente in seguito. Il fatto che non aggiorni settings.gradle quando si rinomina nell'IDE è un bug: https://code.google.com/p/android/issues/detail?id=57692 –

0

Potrebbe essere troppo tardi per rispondere ma stavo avendo lo stesso problema per mostrare il nome della mia app con l'apk generato. ho appena aggiornare il defaultConfig in build.gradle(Module:app) come segue

defaultConfig { 
     applicationId "com.test.testapp" 
     minSdkVersion 19 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     setProperty("archivesBaseName", "TestApp") 
    } 

Questo funziona modificando il archivesBaseName-property e lavora per Gradle versione> = 2.0, ultima testata con gradle-3.3-all. L'output sarebbe TestApp-debug.apk anziché app-debug.apk

+0

copiato piacevolmente da https: //stackoverflow.com/a/39202249/1843331 –