8

我已经使用 apktool 创建了一个修改过的 apk,但是当我尝试安装它时,它没有安装。当我重新检查并将其与较旧的 apk 进行比较时,我发现我的 apk 文件没有签名。我搜索了很多,但找不到在 mac OS X 上签署 apk 的方法。请帮助

4

3 回答 3

15

得到了我的解决方案-我通过在终端中使用以下命令从 JDK 使用 keytool、Jarsigner 和 zipalign

生成密钥库

keytool -genkey -v -keystore my-keystore.keystore -alias name_alias -keyalg RSA -validity 10000

签署 apk

jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk>  name_alias

压缩对齐 apk

zipalign -f -v 4 <your.apk >  <your_aligned.apk>
于 2014-11-12T06:39:57.930 回答
6

MacBook 用户。

1.您需要在终端中创建.keystore 文件。将 .Keystore 和您的 .Apk 放在文件夹中

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000

- 可以更改 alias_name 和 my-release-key 但不能更改 .keystore

2.把这个放在终端上。

jarsigner -verbose -keystore <your .keystore> space <your app file> space <your alias name on creating keystore>

然后问你输入密码把你的密码放在创建的密钥库中。现在你已经签署了 apk。

注意:你的 MacBook 上安装了 JDK。

于 2017-09-25T17:39:07.170 回答
3

如果 apk 文件已经签名,请使用以下代码删除原始签名

Zip -d <path of apk> META-INF/*

签署 apk

jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk>  alias_name

签署 apk 无效且 idk >=1.7

jarsigner -verbose  -digestalg SHA1 -sigalg MD5withRSA -keystore <path of my-keystore.keystore> <path of apk>  alias_name

压缩对齐 apk

 ~/Library/Android/sdk/build-tools/xxxxx/zipalign -f -v 4 <your.apk >  <your_aligned.apk>
于 2017-02-21T01:55:37.460 回答