我有一个 APK 文件名:Splash.apk。 首先我使用 apktool 解码它
apk d Splash.apk
然后我编辑清单,XML。最后我将项目导出到 APK 文件名:EditedSpash.apk。
apk b Splash
当我在模拟器上运行 EditedSpash.apk 时。我收到错误。你给我解释一下吗?
adb install EditedSplash.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
您应该在安装前对 apk 进行签名。
1)
keytool -genkey -keystore (name).keystore -validity 10000 -alias (name) -keyalg rsa
2)回答一些问题(例如:姓名、公司...
3)制作keystore文件后,将apk和ketstore结合起来
如果这些文件位于同一目录
jarsigner -keystore (name).keystore -verbose LunarLander.apk (name)
apk大小增加2kb+;
此后将apk安装到avd
需要签署您的APK
首先,生成一个新的密钥库
keytool -genkey -v -keystore Key_Name.keystore -alias Alias_Name -keyalg RSA -keysize 2048 -validity 10000
然后,对apk进行签名(输入pw后,有一段时间不会显示任何东西):
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore Key_Name.keystore My_APP/dist/My_APP.apk Alias_Name
完成。您可以通过以下方式验证签名:
jarsigner -verify -verbose -certs My_APP/dist/My_APP.apk
请注意,Keytool 和 Jarsigner 来自 Java Development Kit。
(可选)优化 apk 以获得更好的性能:
zipalign -v 4 My_APP/dist/My_APP.apk My_APP-aligned.apk
请指定您如何生成 apk 文件,因为要生成 apk 文件,我们需要使用证书生成它,它可能是调试证书或发布证书,如果生成的 apk 没有其中任何一个,则会出现错误,因此使用生成 apk eclipse它会使用调试证书自动生成apk文件。