-
Notifications
You must be signed in to change notification settings - Fork 1
/
make
executable file
·71 lines (56 loc) · 1.93 KB
/
make
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
65
66
67
68
69
70
71
#!/bin/bash
## change this for your application
NAME=SchemeOGL
PACKAGE=at.nexoid.schemeogl
## change this for your system
SDK=/opt/android-sdk/
PROGUARD=/usr/share/proguard/proguard.jar
KEYSTORE=/home/nex/.android/debug.keystore
KEYALIAS=androiddebugkey
KEYPASS=android
STOREPASS=android
KAWA=kawa/kawa-1.12.jar
## do not change below this line
PLATFORM=$SDK/platforms/android-14/
AAPT=$SDK/platform-tools/aapt
ADB=$SDK/platform-tools/adb
DX=$SDK/platform-tools/dx
AJAR=$PLATFORM/android.jar
PKRES=bin/resource.ap_
OUT=$NAME-unalign.apk
ALIGNOUT=$NAME.apk
if [ "$1" == "install" ] ;
then
echo Installing $Name
$ADB install -r bin/$NAME.apk
else
set -e #exit on error
rm -fR bin gen
mkdir -p bin/classes gen
$AAPT package -f -m -J gen -M AndroidManifest.xml -S res -A assets -I $AJAR -F $PKRES
echo Compiling Java
echo $(find -L . -name *.java)
javac -d bin/classes -classpath bin/classes -target 1.6 -source 1.6 -bootclasspath $AJAR -g $(find -L . -name *.java)
echo Compiling Scheme
CLASSPATH=$KAWA:$AJAR:bin/classes/ java kawa.repl -d bin/classes -P ${PACKAGE}. --module-static-run --warn-undefined-variable --warn-unknown-member --warn-invoke-unknown-method --warn-as-error -C $(find src -name *.scm)
if [ "$1" == "debug" ] ;
then
#jar cf bin/obfuscated.jar -C kawa/ .
cp $KAWA bin/obfuscated.jar
jar -uf bin/obfuscated.jar -C bin/classes/ .
else
echo Running ProGuard
java -jar $PROGUARD @proguard.cfg
fi
echo Running Dex
echo $DX --dex --output=bin/classes.dex bin/obfuscated.jar
$DX --dex --output=bin/classes.dex bin/obfuscated.jar
echo Building Package
java -Xmx128M -classpath "$SDK/tools/lib/sdklib.jar" com.android.sdklib.build.ApkBuilderMain bin/$OUT -u -z $PKRES -f bin/classes.dex
#apkbuilder
echo Signing Jar
jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore $KEYSTORE -storepass $STOREPASS -keypass $KEYPASS bin/$OUT $KEYALIAS
echo Aligning Zip
echo zipalign -f 4 bin/$OUT bin/$ALIGNOUT
"$SDK/tools/zipalign" -f 4 bin/$OUT bin/$ALIGNOUT
fi