2013-05-21 35 views
7

Sto tentando di caricare un'applicazione sul Google Play Store. Sto costruendo il .apk e firmandolo usando Maven. Ho usato il plugin maven-jarsigner per firmare il file .apk. Sto usando la chiave che ho creato usando la procedura guidata di Eclipse per firmare un'altra app per Android. I zipalign il file .apk usando il seguente comando: zipalign [-f] [-v] infile.apk outfile.apkHai caricato un APK firmato in modalità di debug. Devi firmare il tuo APK in errore modalità di rilascio

Quando provo a eseguire l'uplaod dell'applicazione sul playground, ottengo l'errore Hai caricato un APK è stato firmato in modalità di debug. Devi firmare il tuo APK in modalità di rilascio. Qualcuno può dirmi come firmare l'apk in modalità di rilascio? Sono nuovo di Maven (ho iniziato a usarlo oggi). Grazie

+0

Vedere se la risposta [qui] (http://stackoverflow.com/questions/15055961/android-maven-plugin-disable-debug-build-for-apk/15056758#15056758) aiuta. – yorkw

risposta

2

Non so come farlo in Maven, ma è necessario compilare la tua app con un keystore di rilascio. È possibile creare uno con keytool, che è disponibile nella cartella bin Java:

$ keytool -genkey -v -keystore my-release-key.keystore 
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000 

Durante la creazione di esso, è necessario fornire due password, una per l'archivio di chiavi e una per la chiave. Quando viene creato il tuo keystore, puoi utilizzare la procedura guidata Esporta Eclipse per compilare la tua app in modalità di rilascio.

Per ulteriori dettagli, si rimanda alla http://developer.android.com/tools/publishing/app-signing.html#releasemode

+0

Il problema è che non voglio usare Eclipse per compilare l'app. Ci ho provato e sono riuscito a farlo senza problemi. Ho bisogno di compilarlo usando Maven, – Nemin

+0

Questa è la spiegazione corretta, basta usare questo keystore generato su Maven! – thiagolr

-1

Utilizzando -genkeypair invece di -genkey risolto il problema per me.

Quindi: keytool -genkeypair -keystore name.keystore -alias nameapp -keyalg RSA

0

creare sempre il keystore con nome e alias contenente "release" non "debug". Se si sta eseguendo il "Caricamento di un APK firmato in modalità di debug, è necessario firmare l'APK in errore di modalità di rilascio" è sicuro che si sta utilizzando il keystore predefinito che è "debug.keystore", generando quindi apk in modalità di debug.

Soluzione

  1. generare nuove chiavi
  2. Dare riferimento nel file di build.gradle
  3. variante costruire il cambiamento di 'liberazione'
  4. Costruire

questo dovrebbe risolvere il problema.

Problemi correlati