2016年6月18日 星期六

[SQLITE] Compile OpenSSL in Android

Compile OpenSSL

!!Note!! Have to upgrade OpenSSL with version higher than 1.02f/1.01r, otherwise has security issue.
https://support.google.com/faqs/answer/6376725

My NDK version is r10d.

# export LIBRARY_PATH=/your/library/path

ARM platform

# $NDK_ROOT/build/tools/make-standalone-toolchain.sh --arch=arm --install-dir=toolchain --platform=android-19

armeabi

# cd src
# export ANDROID_DEV=$NDK_ROOT/platforms/android-19/arch-arm/usr
# CROSS_COMPILE_PREFIX=$LIBRARY_PATH/OpenSSL/toolchain/bin/arm-linux-androideabi-
# PREFIX=$LIBRARY_PATH/OpenSSL/dest/armeabi
# ./Configure --prefix=$PREFIX --cross-compile-prefix=$CROSS_COMPILE_PREFIX android threads no-shared
# make -s && make install

armeabi-v7a

# PREFIX=$LIBRARY_PATH/OpenSSL/dest/armeabi-v7a
# make clean
# ./Configure --prefix=$PREFIX --cross-compile-prefix=$CROSS_COMPILE_PREFIX android-armv7 threads no-shared
# make -s && make install

x86 platform

# $NDK_ROOT/build/tools/make-standalone-toolchain.sh --arch=x86 --install-dir=toolchainx86 --platform=android-19

x86

# make clean
# export ANDROID_DEV=$NDK_ROOT/platforms/android-19/arch-x86/usr
# CROSS_COMPILE_PREFIX=$LIBRARY_PATH/OpenSSL/toolchainx86/bin/i686-linux-android-
# PREFIX=$LIBRARY_PATH/OpenSSL/dest/x86
# cd src
# ./Configure --prefix=$PREFIX --cross-compile-prefix=$CROSS_COMPILE_PREFIX android threads no-shared
# make -s && make install

Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/$(TARGET_ARCH_ABI)/include/sqlcipher

LOCAL_MODULE := sqlcipher
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/lib/libsqlcipher.a
include $(PREBUILT_STATIC_LIBRARY)

Modify Android.mk & Application.mk

沒有留言:

張貼留言