Add buildbot script for android (still got a few things to fix though)
@ -8,16 +8,12 @@
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
|
||||
<uses-sdk android:minSdkVersion="13" android:targetSdkVersion="26"/>
|
||||
|
||||
<application android:icon="@mipmap/ccicon" android:label="ClassiCube">
|
||||
|
||||
<application
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="ClassiCube">
|
||||
|
||||
<activity android:name="com.classicube.MainActivity"
|
||||
android:label="ClassiCube"
|
||||
<activity android:name="com.classicube.MainActivity" android:label="ClassiCube"
|
||||
android:configChanges="orientation|screenSize|keyboard|keyboardHidden">
|
||||
<!-- Tell NativeActivity the name of our .so -->
|
||||
<meta-data android:name="android.app.lib_name" android:value="classicube" />
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
44
misc/builddroid.sh
Normal file
@ -0,0 +1,44 @@
|
||||
FLAGS="-fPIC -shared -s -O1"
|
||||
LIBS="-lGLESv2 -lEGL -lOpenSLES -lm -landroid -llog"
|
||||
NDK_ROOT="/home/buildbot/android/android-ndk-r22/toolchains/llvm/prebuilt/linux-x86_64/bin"
|
||||
TOOLS_ROOT="/home/buildbot/android/sdk/build-tools/26.0.0"
|
||||
SDK_ROOT="/home/buildbot/android/sdk/platforms/android-26"
|
||||
|
||||
cd /home/buildbot/client/src
|
||||
$NDK_ROOT/i686-linux-android26-clang *.c $FLAGS $LIBS -o cc-droid-x86_32
|
||||
$NDK_ROOT/aarch64-linux-android26-clang *.c $FLAGS $LIBS -o cc-droid-arm_64
|
||||
$NDK_ROOT/x86_64-linux-android26-clang *.c $FLAGS $LIBS -o cc-droid-x86_64
|
||||
$NDK_ROOT/armv7a-linux-androideabi26-clang *.c $FLAGS $LIBS -o cc-droid-arm_32
|
||||
|
||||
cd ../android/app/src/main
|
||||
# remove old java temp files
|
||||
rm -rf obj
|
||||
mkdir obj
|
||||
rm classes.dex
|
||||
|
||||
# copy required native libraries
|
||||
rm -rf lib
|
||||
mkdir lib
|
||||
mkdir lib/armeabi-v7a
|
||||
mkdir lib/arm64-v8a
|
||||
mkdir lib/x86
|
||||
mkdir lib/x86_64
|
||||
cp ~/client/src/cc-droid-arm_32 lib/armeabi-v7a/libclassicube.so
|
||||
cp ~/client/src/cc-droid-arm_64 lib/arm64-v8a/libclassicube.so
|
||||
cp ~/client/src/cc-droid-x86_32 lib/x86/libclassicube.so
|
||||
cp ~/client/src/cc-droid-x86_64 lib/x86_64/libclassicube.so
|
||||
|
||||
# compile interop java file into its multiple .class files
|
||||
javac java/com/classicube/MainActivity.java -d ./obj -classpath $SDK_ROOT/android.jar
|
||||
# compile the multiple .class files into one .dex file
|
||||
$TOOLS_ROOT/dx --dex --output=obj/classes.dex ./obj
|
||||
# create initial .apk with packaged version of resources
|
||||
$TOOLS_ROOT/aapt package -f -M AndroidManifest.xml -S res -F obj/cc-unsigned.apk -I $SDK_ROOT/android.jar
|
||||
# and add all the required files
|
||||
cp obj/classes.dex classes.dex
|
||||
$TOOLS_ROOT/aapt add -f obj/cc-unsigned.apk classes.dex lib/armeabi-v7a/libclassicube.so lib/arm64-v8a/libclassicube.so lib/x86/libclassicube.so lib/x86_64/libclassicube.so
|
||||
# sign the apk with debug key (https://stackoverflow.com/questions/16711233/)
|
||||
cp obj/cc-unsigned.apk obj/cc-signed.apk
|
||||
jarsigner -verbose -keystore debug.keystore -storepass android -keypass android obj/cc-signed.apk androiddebugkey
|
||||
# create aligned .apk file
|
||||
$TOOLS_ROOT/zipalign -f -v 4 obj/cc-signed.apk obj/cc-final.apk
|