aboutsummaryrefslogtreecommitdiffhomepage
path: root/build-android
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-01-04 22:13:15 -0800
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-01-04 22:13:15 -0800
commit2d723b004a69c490d3ae08a883917b173b5c9e8c (patch)
treea1b13d84aadd5325d01261de0fc133b2a2d74a4e /build-android
parent8aa7e6dc95a3794d92b248e172df1b4a1c8a5271 (diff)
Build process will generate .aar file
Diffstat (limited to 'build-android')
-rw-r--r--build-android/AndroidManifest.xml13
-rwxr-xr-xbuild-android/build.sh26
2 files changed, 32 insertions, 7 deletions
diff --git a/build-android/AndroidManifest.xml b/build-android/AndroidManifest.xml
new file mode 100644
index 00000000..e31d58aa
--- /dev/null
+++ b/build-android/AndroidManifest.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.libmailcore.library"
+ android:versionCode="1"
+ android:versionName="0.5" >
+
+ <uses-sdk
+ android:minSdkVersion="21"
+ android:targetSdkVersion="21" />
+
+ <uses-permission android:name="android.permission.INTERNET" />
+
+</manifest> \ No newline at end of file
diff --git a/build-android/build.sh b/build-android/build.sh
index bb41aba3..74f328dc 100755
--- a/build-android/build.sh
+++ b/build-android/build.sh
@@ -20,6 +20,11 @@ if test "x$ANDROID_NDK" = x ; then
exit 1
fi
+if test "x$ANDROID_SDK" = x ; then
+ echo should set ANDROID_SDK before running this script.
+ exit 1
+fi
+
function download_dep {
name="$1"
version="$2"
@@ -48,8 +53,9 @@ function build {
OPENSSL_PATH=$current_dir/third-party/openssl-android-1 \
CYRUS_SASL_PATH=$current_dir/third-party/cyrus-sasl-android-1
- mkdir -p "$current_dir/$package_name-$build_version/libs/$TARGET_ARCH_ABI"
- cp "$current_dir/libs/$TARGET_ARCH_ABI/libMailCore.so" "$current_dir/$package_name-$build_version/libs/$TARGET_ARCH_ABI"
+ mkdir -p "$current_dir/bin/jni/$TARGET_ARCH_ABI"
+ cp "$current_dir/libs/$TARGET_ARCH_ABI/libMailCore.so" "$current_dir/bin/jni/$TARGET_ARCH_ABI"
+ cp "$ANDROID_NDK/sources/cxx-stl/llvm-libc++/libs/$TARGET_ARCH_ABI/libc++_shared.so" "$current_dir/bin/jni/$TARGET_ARCH_ABI"
rm -rf "$current_dir/obj"
rm -rf "$current_dir/libs"
}
@@ -60,8 +66,6 @@ cmake ../..
mkdir -p "$current_dir/include"
cp -R "$current_dir/cmake-build/src/include/MailCore" "$current_dir/include"
-mkdir -p "$current_dir/$package_name-$build_version/include"
-cp -R "$current_dir/cmake-build/src/include/MailCore" "$current_dir/$package_name-$build_version/include"
mkdir -p "$current_dir/third-party"
cd "$current_dir/third-party"
@@ -80,6 +84,14 @@ for arch in $archs ; do
build
done
-cd "$current_dir"
-zip -qry "$package_name-$build_version.zip" "$package_name-$build_version"
-rm -rf "$package_name-$build_version"
+cd "$current_dir/../src/java"
+mkdir -p "$current_dir/bin"
+javac -d "$current_dir/bin" -source 1.6 -target 1.6 -classpath $ANDROID_SDK/platforms/$ANDROID_PLATFORM/android.jar com/libmailcore/*.java
+cd "$current_dir/bin"
+jar cf classes.jar .
+rm -rf "$current_dir/bin/com"
+mkdir -p res
+sed -e "s/android:versionCode=\"1\"/android:versionCode=\"$build_version\"/" "$current_dir/AndroidManifest.xml" > "$current_dir/bin/AndroidManifest.xml"
+zip -qry "$current_dir/$package_name-$build_version.aar" .
+
+rm -rf "$current_dir/bin"