A:生成keystore
进入.android目录下,将以前的debug.keystore重命名,在CMD输入如下命令
keytool -genkey -v -keystore android.keystore -alias android.keystore -keyalg RSA -validity 20000
在填上密码,信息等确认生成成功。
1.APK重签名
下载自动签名脚本:
http://code.google.com/p/robotium/downloads/detail?name=sign-debug-any-apk.sh
#!/bin/bash
set -e
ORIGINAL_APK="$(readlink --canonicalize $1)"
CLEAN_SIGNED_APK="$(mktemp -t robotium.clean.apk.XXXXXXXXXXXXXX)"
UNPACK_DIRECTORY="$(mktemp --directory -t robotium.unpack.XXXXXXXXXXXXXX)"
ZIPALIGNED_APK="$(readlink --canonicalize $2)"
PWD="$(pwd)"
if [ -e "$ORIGINAL_APK" ]; then
if [ "$2" == "" ]; then
echo "Second argument must be the output filename for the signed apk."
exit 2
fi
rm "$CLEAN_SIGNED_APK" 2>/dev/null || true
rm "$ZIPALIGNED_APK" 2>/dev/null || true
cd "$UNPACK_DIRECTORY"
jar xf "$ORIGINAL_APK"
rm META-INF/CERT.*
jar cf "$CLEAN_SIGNED_APK" .
jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android "$CLEAN_SIGNED_APK" androiddebugkey
zipalign 4 "$CLEAN_SIGNED_APK" "$ZIPALIGNED_APK"
else
echo "First argument must be an apk file."
exit 1
fi
运行脚本重签名完成
1.sh ./sign-debug-any-apk.sh ***.apk ***_signed.apk
重命名已经签名APK,安装到手机设备中。
2.打开Eclipse,Create一个新的工程,File->New一个Android Test Project ApkTest, 然后点击下一步的时候选择This project
命令行重新签名APK文件
1). 将证书(debug.keystore)复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign)
2). 在cmd中切换到需要重新前面的apk文件的目录下
cd D:\Sign
3). 运行下面的命令
jarsigner -verbose -keystore debug.keystore -signedjar PhoneBook_signed.apk PhoneBook.apk mine.keystore
/*解释:hjarsigner是Java的签名工具
-verbose参数表示:显示出签名详细信息
-keystore表示使用当前目录中的debug.keystore签名证书文件。
-signedjar PhoneBook_signed.apk表示签名后生成的APK名称,PhoneBook.apk表示未签名的APK Android软件, mine.keystore表示别名
关于SDK工具使用的keystore:
Keystore名字:“debug.keysotre”
Keystore密码:“android”
Key别名:“androiddebugkey”
Key密码:“android”
eg:jarsigner -verbose -keystore debug.keystore -signedjar renren_singed.apk renren.apk androiddebugkey
eg:
jarsigner -verbose -keystore debug.keystore -signedjar NenaMark2_v_2_4_signed.apk NenaMark2_v_2_4.apk androiddebugkey
密钥 :android