2017-03-07 9 views
2

Ich möchte meine App zu Google Play zu veröffentlichen. Also folge ich dieser link.kann apk nicht installieren, nachdem signierte apk in Android Studio

Ich habe einen Keystore erstellt und app-release.apk erfolgreich erstellt. Aber wenn ich APK mein Gerät installieren, Fehler nehmen:

~/Android/Sdk/platform-tools$ ./adb install ~/Downloads/libraries/LolliPin/app/app-release.apk 
[100%] /data/local/tmp/app-release.apk 
     pkg: /data/local/tmp/app-release.apk 
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 

Wenn Upload Developer Console, die Website sagen App nicht unterzeichnet hat.

Ich versuche es erneut mit manuellen Schritten: jarsigned -> zipalign -> apksigner, aber es wird nicht ausgeführt.

Bitte sagen Sie mir die Lösung. Danke vielmals!

UPDATE: wenn ich die apk verifiziert (erstellt von Android Studio -> erzeugen apk unterzeichnet) durch apksigned, es Fehler zeigen:

~/Android/Sdk/build-tools/25.0.2$ ./apksigner verify /home/haitt22/test/app-release.apk 
DOES NOT VERIFY 
ERROR: No JAR signatures 

UPDATE 2: wenn ich es apksigner in Build-Tool unterzeichnet einzuloggen,:

/apksigner sign --ks /home/haitt22/test/test.jks /home/ubuntu/test/app-release-aligned.apk 
Keystore password for signer #1: 
Exception in thread "main" java.lang.IllegalAccessError: class com.android.apksig.internal.apk.v1.V1SchemeSigner (in unnamed module @0x646d64ab) cannot access class sun.security.x509.AlgorithmId (in module java.base) because module java.base does not export sun.security.x509 to unnamed module @0x646d64ab 
    at com.android.apksig.internal.apk.v1.V1SchemeSigner.getSupportedAlgorithmId(V1SchemeSigner.java:625) 
    at com.android.apksig.internal.apk.v1.V1SchemeSigner.<clinit>(V1SchemeSigner.java:541) 
    at com.android.apksig.DefaultApkSignerEngine.<init>(DefaultApkSignerEngine.java:149) 
    at com.android.apksig.DefaultApkSignerEngine.<init>(DefaultApkSignerEngine.java:52) 
    at com.android.apksig.DefaultApkSignerEngine$Builder.build(DefaultApkSignerEngine.java:902) 
    at com.android.apksig.ApkSigner.sign(ApkSigner.java:259) 
    at com.android.apksig.ApkSigner.sign(ApkSigner.java:178) 
    at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:277) 
    at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89) 
+1

APK Gerät Installation erfordert keine APK Unterzeichnung. Sie können unsignierte APK auf dem Gerät installieren, wenn der Entwicklermodus Ihres Geräts aktiviert ist und die Installation von nicht vertrauenswürdiger Quelle erlaubt ist. – Raptor

+0

Darüber hinaus können Sie in Android Studio auf "Ausführen" oder "Debuggen" klicken, um Ihre App auf Ihrem Gerät zu installieren und zu starten USB-Debugging aktiviert haben – Raptor

+0

Ich möchte auf Google Play hochladen, also brauche ich unterschrieben. –

Antwort

0

Verwenden OpenJDK 8. Java 9 verursacht dieses Problem

1

Sie müssen sicherstellen, dass sowohl Jar Unterschrift ein d APK Unterschrift werden geprüft:

Both need to be checked

Verwandte Themen