方法1:(jar,zip) 可以解决resigned.jar成功签名之后,无名crash的问题,但可能 会带来图片资源变形,但不影响app功能运行
#!/bin/bash
#####2015.1.28-by joel##########
KEYPATH=/Users/joel/.android/debug.keystore
ALIAS=androiddebugkey
KEYSTOREPASS=android
KEYPASS=android
PREFIX=TEMP_
SIGNED=ZTX.debug_
function pause(){
echo "`pwd`"
read -n1 -p "Press any key to continue..."
}
for I in `ls *.apk`;do
echo "Resigner ${I} "
rm -rf ${I}_
#pause
mkdir -p ${I}_
#pause
cp -R ${I} ${I}_
#pause
cd ${I}_
pause
jar -xvf ${I}
#pause
rm -rf ${I}
rm -rf META-INF
zip -r ${PREFIX}${I} *
for ii in `ls`;do
echo $ii
if [[ ${ii} != ${PREFIX}${I} ]];then
rm -rf ${ii}
fi
done
pause
JARSIGNER -VERBOSE -KEYSTORE ${KEYPATH} -STOREPASS ${KEYSTOREPASS} ${PREFIX}${I} ${ALIAS} -KEYPASS ${KEYPASS}
ZIPALIGN -v 4 ${PREFIX}${I} ${SIGNED}${I}
ZIPALIGN -c -v 4 ${SIGNED}${I}
rm -rf ${PREFIX}${I}
cd ..
done
方法2:(apktool )google原生签名(resign.jar也如此)
#!/bin/bash
#####2015.1.28-by joel##########
KEYPATH=/Users/joel/.android/debug.keystore
ALIAS=androiddebugkey
KEYSTOREPASS=android
KEYPASS=android
PREFIX=TEMP_
APKTOOL=~/apktool
SIGNED=ZTX.debug_
function pause(){
echo "`pwd`"
read -n1 -p "Press any key to continue..."
}
for I in `ls *.apk`;do
echo "Resigner ${I} "
rm -rf ${I}_
#pause
mkdir -p ${I}_
#pause
cp -R ${I} ${I}_
#pause
cd ${I}_
pause
APKTOOL d ${I} ${PREFIX}${I}
#pause
rm -rf ${I}
rm -rf META-INF
zip -r ${PREFIX}${I} *
for ii in `ls`;do
echo $ii
if [[ ${ii} != ${PREFIX}${I} ]];then
rm -rf ${ii}
fi
done
pause
JARSIGNER -VERBOSE -KEYSTORE ${KEYPATH} -STOREPASS ${KEYSTOREPASS} ${PREFIX}${I} ${ALIAS} -KEYPASS ${KEYPASS}
ZIPALIGN -v 4 ${PREFIX}${I} ${SIGNED}${I}
ZIPALIGN -c -v 4 ${SIGNED}${I}
rm -rf ${PREFIX}${I}
cd ..
done