ANdroid - 使用 apktool 编辑后运行 APK 文件会出现错误:[INSTALL_PARSE_FAILED_NO_CERTIFICATES]

问题描述 投票:0回答:3

我有一个 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]
android apk adb decode
3个回答
34
投票

您应该在安装前对 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


1
投票

需要签署您的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


-2
投票

请指定您如何生成 apk 文件,因为要生成 apk 文件,我们需要使用证书生成它,它可能是调试证书或发布证书,如果生成的 apk 没有其中任何一个,则会出现错误,因此使用生成 apk eclipse它会使用调试证书自动生成apk文件。

© www.soinside.com 2019 - 2024. All rights reserved.