Android 如何使用apktool在mac上签署修改过的apk

Android 如何使用apktool在mac上签署修改过的apk,android,macos,apk,signing,apktool,Android,Macos,Apk,Signing,Apktool,我已经使用apktool创建了一个修改过的apk,但是当我尝试安装它时,它没有安装。当我重新检查并与旧的apk进行比较时,我发现我的apk文件没有签名。我搜索了很多,但找不到在mac OS X上签署apk的方法。请帮助获得我的解决方案-我使用来自JDK的keytool、Jarsigner和zipalign,在终端中使用以下命令 生成密钥库 keytool -genkey -v -keystore my-keystore.keystore -alias name_alias -keyalg RSA

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

获得我的解决方案-我使用来自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
jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk>  alias_name
 ~/Library/Android/sdk/build-tools/xxxxx/zipalign -f -v 4 <your.apk >  <your_aligned.apk>
jarsigner-verbose-keystore名称\u别名
对齐apk

zipalign -f -v 4 <your.apk >  <your_aligned.apk>
zipalign-f-v4

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

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

jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk>  name_alias
jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk>  alias_name
 ~/Library/Android/sdk/build-tools/xxxxx/zipalign -f -v 4 <your.apk >  <your_aligned.apk>
jarsigner-verbose-keystore别名
签署apk无效且idk>=1.7

jarsigner -verbose  -digestalg SHA1 -sigalg MD5withRSA -keystore <path of my-keystore.keystore> <path of apk>  alias_name
jarsigner-verbose-digestalg SHA1-sigalg MD5withRSA-keystore别名_name
对齐apk

jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk>  name_alias
jarsigner -verbose -keystore <path of my-keystore.keystore> <path of apk>  alias_name
 ~/Library/Android/sdk/build-tools/xxxxx/zipalign -f -v 4 <your.apk >  <your_aligned.apk>
~/Library/Android/sdk/buildtools/xxxxx/zipalign-f-v4
MacBook用户

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

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000
-可以更改别名和我的发布密钥,但不能更改.keystore

2.把这个放在终端上

jarsigner -verbose -keystore <your .keystore> space <your app file> space <your alias name on creating keystore>
jarsigner-verbose-keystore空间
然后要求您输入密码将您的密码放入创建的密钥库中。现在你已经签署了apk


注意:您已经在MacBook上安装了JDK。

应该为您提供有关在Android Studio和ADT for Eclipse中签署APK的信息。谢谢您的链接帮助。我已经在下面发布了解决方案。你能澄清一下你的.apk和你的_aligned.apk是什么吗?在前两个步骤之后,我有一个app-debug.apk和一个app-release-unsigned.apk,但是哪一个是步骤3中的哪一个?如果您有一个未签名的apk,那么您可以从步骤2开始,如果您已经生成了密钥库。在我的例子中,your.apk是一个签名的apk,而your_aligned.apk是一个zip对齐的格式。好吧,我有一个误解。我将在这里添加一条注释,以防其他人也有同样的困惑。是zipalign工具输出的文件,您可以随意命名它。