签名的Apk未被识别

11

我正尝试部署一个由Cordova创建的Android APK,但失败了。以下是我的过程:

1)生成发布APK:cordova build android --release

2)生成密钥库:keytool -genkey -v -keystore my-release-key.keystore -alias com.MyCompany.AppsName -keyalg RSA -keysize 2048 -validity 10000我创建了名为MyPass的密码,并在表单中填写了所有信息(名称,国家等)。

3)签名应用程序:jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.apk com.MyCompany.AppsName

4)检查签名:jarsigner -verify -verbose -certs android-release-unsigned.apk我得到这个输出:

"jar verified. Warning: This jar contains entries whose certificate chain is not validated. This jar contains signatures that does not include a timestamp. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2043-12-07) or after any future revocation date."

5)压缩APK:"c:\pathtosdk\zipalign.exe" -v 4 android-release-unsigned.apk com.MyCompany.AppsName.apk 6)然后将APK复制到Android设备上。

但是,当我尝试安装该应用程序时,设备要求我允许未知来源......好像没有签名。有谁知道我错在哪里吗?

提前感谢


如果可能的话,您可以将项目导入到Android Studio中,然后签名过程会更加容易。如果出现任何问题,您将获得更好的支持和错误处理。它具有用于签名apk生成的内置向导。无需依赖keytool。您还可以导入先前创建的密钥库文件。谢谢。 - Jayakrishnan
@rdecla,你找到解决方案了吗? - Younes Zaidi
3个回答

0

尝试安装衍生的 apk。首先在 Play 商店的 Alpha 发布中发布您的应用程序,然后从 Alpha 发布中下载衍生的 apk。我认为这将有所帮助。


0

你的apk文件可能已经签名并且非常正常。它要求允许未知来源的原因是因为默认情况下,它不允许从除Google Play商店以外的其他来源安装.apk文件。这是为了保证安全性考虑。https://support.google.com/nexus/answer/2812853?hl=en


0

如果您没有从Play商店下载应用程序,那么您将收到这条消息,这在您的情况下是正确的。这与应用程序是否已签名无关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接