1. 下载apkTool工具,按照官方提示放到相应的位置并配置; 2. 使用命令 “sudo apktool d your.apk”,得到一个文件夹your; 3. 使用命令 “sudo apktool b your”,进入your文件夹中的dist,看到一个apk,这个apk文件签名已经去掉了; 4. 使用命令 “jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa -verbose -keystore your.keystore -storepass yourPassword -keypass yourPassword -signedjar your_signed.apk your.apk yourAlias” 重新签名;
方法一:使用jarsigner1.打开 <命令提示符> 程序 2.使用<jarsigner>签名
jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书名称] jarsigner的参数说明-keystore 参数指定您的私钥的绝对路径,例如:/Users/haoweilai/mykeystore
-signedjar 参数指定签名后apk文件存放绝对的路径,例如 /Users/haoweilai/signed.apk
[未签名的文件路径] 指定要签名apk文件的绝对路径,也就是您从我们这里下载到的,例如 /Users/haoweilai/meizuemptyapk-release-unsigned.apk
[您的证书名称] 是指您创建密钥时您设置的证书名称即
demo:
jarsigner -verbose -keystore /Users/haoweilai/mykeystore -signedjar ./signed.apk ./unsigned.apk haha去到java安装的根目录,即输入cd /Library/Java/Home/bin/
当前用户没有最高权限,在Library文件夹下不能生成任何文件,可以到当前用户目录下生成文件
keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000 -keystore /Users/当前用户的用户名/android_demo.keystore 这里别名是 android | keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000 -keystore /Users/当前用户的用户名/android_demo.keystore
======生成keystore开始======keytool -genkey -v -keystore android.keystore -alias calcyoulife -keyalg RSA -validity 20000 -keystore /Users/yusiyuan/calcyoulife ====生成keystore结束====
==打包进去 在2d目录有一个未签名 一个签名的==
jarsigner -verbose -keystore /Users/yusiyuan/calcyoulife -signedjar /Users/yusiyuan/Desktop/eeee/CalcYouLife-release-signed.apk /Users/yusiyuan/Desktop/eeee/360.apk calcyoulife ==打包进去==
在cmd进入jdk的bin目录,然后执行以下命令:
jarsgner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystorePath] -singnedjar [apkOut] [apkln] [alias]
ps:红色英文不填的话,默认签名算法采用“SHA256withRSA”,所以会导致360提示:”您的应用签名算法采用“SHA256withRSA”,在部分4.2一下安卓版本的手机上不能安装 |