-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathbuildRootHelpersAndroid.sh
executable file
·64 lines (48 loc) · 1.41 KB
/
buildRootHelpersAndroid.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
54
55
56
57
58
59
60
61
62
63
64
set -e
NDKDIR=$HOME/Android/Sdk/ndk/21.3.6528147
RHDIR=$(pwd)/XFilesRootHelper
XFILES_ASSET_DIR=$(pwd)/libs
mkdir -p $XFILES_ASSET_DIR
if [ ! -d "$RHDIR" ]; then
git clone https://github.com/pgp/XFilesRootHelper.git
fi
cd $RHDIR
MAINDIR=$(pwd)
FORMAT7ZDIR=$MAINDIR/ANDROID/Format7zFree/jni
RHDIR=$MAINDIR/ANDROID/RootHelper/jni
FORMAT7ZLIBDIR=$MAINDIR/ANDROID/Format7zFree/libs
RHLIBDIR=$MAINDIR/ANDROID/RootHelper/libs
TLSCERTDIR=$MAINDIR/cert
export PATH=$PATH:$NDKDIR
# build lib7z.so
cd $FORMAT7ZDIR
# rm -rf ../obj/*
# rm -rf ../libs/*
if [ -z "$LOWPERF" ]; then echo STANDARD BUILD && ndk-build -j4; else echo LOWPERF $LOWPERF && ndk-build -j2; fi
# build roothelper executable shared object (r)
cd $RHDIR
# rm -rf ../obj/*
# rm -rf ../libs/*
if [ -z "$LOWPERF" ]; then echo STANDARD BUILD && ndk-build -j4; else echo LOWPERF $LOWPERF && ndk-build -j1; fi
# rename to libr.so (for gradle to accept it as embeddable in apk)
cd $RHLIBDIR
for i in $(ls); do
mv ./$i/r ./$i/libr.so
done
rm -rf $XFILES_ASSET_DIR/*
######################### copy libraries
cd $RHLIBDIR
for i in $(ls); do
mkdir -p $XFILES_ASSET_DIR/$i
cp ./$i/libr.so $XFILES_ASSET_DIR/$i/libr.so
done
cd $FORMAT7ZLIBDIR
for i in $(ls); do
mkdir -p $XFILES_ASSET_DIR/$i
cp ./$i/lib7z.so $XFILES_ASSET_DIR/$i/lib7z.so
done
cd $XFILES_ASSET_DIR
for i in $(ls); do
cp $TLSCERTDIR/dummycrt.pem ./$i/libdummycrt.so
cp $TLSCERTDIR/dummykey.pem ./$i/libdummykey.so
done