我想将我的应用发布到谷歌播放。所以我按照这个link。无法安装APK apk生成Android Studio后
我创建了一个密钥库,并成功构建了app-release.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 - > zipalign - > apksigner但它没有运行。
请告诉我解决方案。非常感谢!
更新:当我验证了APK(由Android工作室创建 - >生成APK签署)由apksigned,它显示错误:
~/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)
APK安装到设备不需要APK签名。如果您的设备的开发者模式已启用并允许从不受信任的源安装,则可以将未签名的APK安装到设备 – Raptor
此外,您可以单击Android Studio中的“运行”或“调试”以在设备中安装和启动您的应用程序,已启用USB调试 – Raptor
我想上传到Google Play,所以我需要签名。 –