2017-01-26 2 views
1

Ich verbessere eine bestehende App über Play Store gestartet und jetzt möchte ich eine neue Version veröffentlichen. Der vorherige Entwickler hat mir eine Schlüsselspeicherdatei gegeben. Ich kann nicht weiter fortfahren, um eine APK-Datei zu signieren.Zeichen App mit gegeben Keystore

I .crt-Datei mit folgendem Befehl generiert haben:

keytool -export -alias appname -file appname -keystore keystore 

Dann versuche ich folgenden Befehl importieren mit:

keytool -import -alias appname -file appname.crt -keystore keystore 

Ich erhalte Fehler wie folgt:

keytool error: java.lang.Exception: Certificate reply and certificate in keystore are identical 

Also löschte ich Alias ​​mit folgendem Befehl:

keytool -delete -alias appname -keystore keystore 

Dann versuche ich wieder zu importieren und es funktionierte Ausgabe zeigt wie unten:

keytool -import -alias flavorsome -file flavorsome.crt -keystore keystore 
Enter keystore password: 
Owner: CN=Name, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknow 
n 
Issuer: CN=Name, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unkno 
wn 
Serial number: number 
Valid from: Thu Jul 28 09:34:07 IST 2016 until: Mon Dec 14 09:34:07 IST 2043 
Certificate fingerprints: 
     MD5: md5:md5 
     SHA1: A1:B1:C1 
     SHA256: 00:00:00 
     Signature algorithm name: SHA256withRSA 
     Version: 3 

Extensions: 

#1: ObjectId: 2.5.29.14 Criticality=false 
SubjectKeyIdentifier [ 
KeyIdentifier [ 
0000: 08 EC 2B 67 A0 94 11 A0 BA 43 C9 8C DB A8 D1 61 ..+g.....C.....a 
0010: 0E C4 68 29          ..h) 
] 
] 

Trust this certificate? [no]: yes 

Dann versuchte ich die apk-Datei zu signieren, und ich bin immer Fehler wie folgt:

jarsigner -verbose -sigalg SHA1 
withRSA -digestalg SHA1 release-unsigned.apk appname 
Enter Passphrase for keystore: 
jarsigner: Certificate chain not found for: appname. appname must referen 
ce a valid KeyStore key entry containing a private key and corresponding public 
key certificate chain. 

Meine Hauptfrage ist, wie kann ich fortfahren, Apk-Datei mit der angegebenen Keystore-Datei zu signieren?

Antwort

0

ich unterzeichnet haben es mit folgendem Befehl:

jarsigner release-unsigned.apk appname -keystore keystore 

Dann Zipalign optimiert sie und erzeugt apk-Datei im Play Store erlaubt ist.

1

Sie müssen keine neue .crt-Datei generieren, wenn Sie bereits eine Keystore-Datei haben. Kann https://developer.android.com/studio/publish/app-signing.html#sign-manually nützlich sein.

+0

Danke, aber ich benutze nicht Android Studio, aber ich versuchte mit Terminal, generierte ausgerichtete apk-Datei und dann apksigner.bat Datei und Fehler als "Fehler beim Laden des Unterzeichners" Unterzeichner # 1 ": Schlüsselspeicher enthält keine Schlüsseleingaben" – Kamal