repack android apk

最近经常hack一些android的应用,常常需要修改smali后重新打包,特地编写了一个简单的打包脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash -x
if [ $# -ne 1 ]
then
echo "pack your.apk"
exit 1
fi
apk=$1
apkdir=$(basename $apk .apk)
package_grep=$(grep -o -e package=\".*\" $apkdir/AndroidManifest.xml)
package=$(echo $package_grep | sed "s/package=//g" | sed "s/\"//g")
echo $package
rm -rf build
mkdir build
adb shell pm uninstall $package
apktool build $apkdir -o build/$apk
rm -rf signed
mkdir signed
d2j-apk-sign.sh -f -o signed/$apk build/$apk
cd signed
adb install $apk
cd -