在Android studio中生成已签名的apk后无法安装apk

在Android studio中生成已签名的apk后无法安装apk,android,apk,sign,Android,Apk,Sign,我想将我的应用程序发布到google play。所以我遵循这个 我创建了一个密钥库,并成功构建了apprelease.apk。但当我在设备上安装APK时,可能会出现以下错误: ~/Android/Sdk/platform-tools$ ./adb install ~/Downloads/libraries/LolliPin/app/app-release.apk [100%] /data/local/tmp/app-release.apk pkg: /data/local/tm

我想将我的应用程序发布到google play。所以我遵循这个

我创建了一个密钥库,并成功构建了
apprelease.apk
。但当我在设备上安装APK时,可能会出现以下错误:

~/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]
当上传到开发者控制台时,该网站称应用程序尚未签名

我使用手动步骤重试:jarsigned-->zipaign-->apksigner,但它未运行

请告诉我解决办法。非常感谢

更新:当我验证apksigned创建的apk(由android studio创建-->生成apk签名)时,它显示错误:

~/Android/Sdk/build-tools/25.0.2$ ./apksigner verify /home/haitt22/test/app-release.apk 
DOES NOT VERIFY
ERROR: No JAR signatures
更新2:当我在构建工具中使用apksigner进行签名时,日志:

/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)
/apksigner sign--ks/home/haitt22/test/test.jks/home/ubuntu/test/app-release-aligned.apk
签名者的密钥库密码#1:
线程“main”java.lang.IllegalAccessError中的异常:类com.android.apksig.internal.apk.v1.V1SchemeSigner(在未命名模块@0x646d64ab中)无法访问类sun.security.x509.AlgorithmId(在模块java.base中),因为模块java.base没有将sun.security.x509导出到未命名模块@0x646d64ab
位于com.android.apksig.internal.apk.v1.V1SchemeSigner.getSupportedAlgorithmId(V1SchemeSigner.java:625)
位于com.android.apksig.internal.apk.v1.V1SchemeSigner。(V1SchemeSigner.java:541)
在com.android.apksig.DefaultApkSignerEngine上。(DefaultApkSignerEngine.java:149)
在com.android.apksig.DefaultApkSignerEngine上。(DefaultApkSignerEngine.java:52)
在com.android.apksig.DefaultApkSignerEngine$Builder.build上(DefaultApkSignerEngine.java:902)
登录com.android.apksig.ApkSigner.sign(ApkSigner.java:259)
登录com.android.apksig.ApkSigner.sign(ApkSigner.java:178)
登录com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:277)
位于com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89)

使用OpenJDK 8。Java 9导致此问题

您需要确保Jar签名和APK签名都已检查:


将APK安装到设备不需要APK签名。如果您的设备启用了开发者模式并允许从不受信任的源安装,您可以在设备上安装未签名的APK。此外,您可以在Android Studio中单击“运行”或“调试”,在您的设备上安装并启动您的应用程序,因为您已启用USB调试,我想上传到Google Play,所以我需要签名。APK磨合设备不同于上传到Google Play。不要混淆两个版本。嗨,猛禽,好的,它们是不同的。但是我把这个apk上传到Google Play,网站说我的应用程序没有签名。但我使用android studio(在菜单中选择Generate signed APK)进行了签名。现在我不知道怎么签字。