-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcustomize_framework.sh
executable file
·53 lines (45 loc) · 1.78 KB
/
customize_framework.sh
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
# $1: dir for miui
# $2: dir for original
APKTOOL="$PORT_ROOT/tools/apktool --quiet"
BUILD_OUT=out
SEP_FRAME="framework2.jar.out"
TMP_FILE=$BUILD_OUT/tmp.smali
if [ $2 = "$BUILD_OUT/framework" ]
then
# remove all files at out/framework those exist in framework2.jar.out
for file2 in `find framework2.jar.out -name *.smali`; do
file=${file2/framework2.jar.out/$BUILD_OUT\/framework}
echo "rm file: $file"
rm -rf "$file"
done
# move some smali to create a separate $SEP_FRAME.jar
# including: smali/miui smali/android/widget
mkdir -p "$BUILD_OUT/$SEP_FRAME/smali"
rm -rf $BUILD_OUT/$SEP_FRAME/smali/miui
mv "$BUILD_OUT/framework/smali/miui" "$BUILD_OUT/$SEP_FRAME/smali"
PATCH_FILE=$BUILD_OUT/framework/smali/com/android/internal/telephony/gsm/GsmDataConnectionTracker\$Injector.smali
sed "s/invoke-static {}, Lcom\/android\/internal\/telephony\/gsm\/GsmDataConnectionTracker;->getPolicyDataEnabled()Z/invoke-virtual {p0}, Lcom\/android\/internal\/telephony\/gsm\/GsmDataConnectionTracker;->getPolicyDataEnabled()Z/g" $PATCH_FILE > $TMP_FILE
cp $TMP_FILE $PATCH_FILE
rm $TMP_FILE
fi
if [ $2 = "$BUILD_OUT/framework2" ]
then
# remove all files at out/framework1 those exist in framework.jar.out
for file2 in `find framework.jar.out -name *.smali`; do
file=${file2/framework.jar.out/$BUILD_OUT\/framework2}
echo "rm file: $file"
rm -rf "$file"
done
mv "$BUILD_OUT/$SEP_FRAME/smali/miui/" "$BUILD_OUT/framework2/smali/miui"
fi
if [ $2 = "$BUILD_OUT/android.policy" ];then
curdir=`pwd`
cd overlay/android.policy.jar.out
for file in `find . -name *.smali`
do
dstfile="$curdir/out/android.policy/$file"
cat $file >> $dstfile
done
cd -
fi