diff --git a/Makefile b/Makefile index b8067f2c..28832386 100644 --- a/Makefile +++ b/Makefile @@ -30,10 +30,14 @@ clean: ant clean cd ${EXTERNAL_DIR} && ndk-build clean -cd ${SQLCIPHER_DIR} && make clean - cd ${JNI_DIR} && ndk-build clean + cd ${JNI_DIR} && ndk-build clean -rm ${LIBRARY_ROOT}/armeabi/libsqlcipher_android.so -rm ${LIBRARY_ROOT}/armeabi/libdatabase_sqlcipher.so + -rm ${LIBRARY_ROOT}/armeabi/libstlport_shared.so -rm ${LIBRARY_ROOT}/sqlcipher.jar + -rm ${LIBRARY_ROOT}/x86/libsqlcipher_android.so + -rm ${LIBRARY_ROOT}/x86/libdatabase_sqlcipher.so + -rm ${LIBRARY_ROOT}/x86/libstlport_shared.so copy-libs: mkdir -p ${LIBRARY_ROOT}/armeabi @@ -44,6 +48,13 @@ copy-libs: cp ${CURDIR}/bin/classes/sqlcipher.jar ${LIBRARY_ROOT} && \ cp ${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/libs/armeabi/libstlport_shared.so \ ${LIBRARY_ROOT}/armeabi + mkdir -p ${LIBRARY_ROOT}/x86 + cp ${EXTERNAL_DIR}/libs/x86/libsqlcipher_android.so \ + ${LIBRARY_ROOT}/x86 && \ + cp ${JNI_DIR}/libs/x86/libdatabase_sqlcipher.so \ + ${LIBRARY_ROOT}/x86 && \ + cp ${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/libs/x86/libstlport_shared.so \ + ${LIBRARY_ROOT}/x86 copy-libs-dist: cp ${LIBRARY_ROOT}/*.jar dist/SQLCipherForAndroid-SDK/libs/ && \ diff --git a/external/Android.mk b/external/Android.mk index 21cc0d7c..36442ca8 100644 --- a/external/Android.mk +++ b/external/Android.mk @@ -19,7 +19,7 @@ sqlcipher/sqlite3.c: copy-libs-hack: build-local-hack install -p -m644 libs/armeabi/*.so ../obj/local/armeabi/ -project_ldflags:= -Llibs/armeabi/ -Landroid-libs/ +project_ldflags:= -Llibs/$(TARGET_ARCH_ABI)/ -Landroid-libs/$(TARGET_ARCH_ABI)/ #------------------------------------------------------------------------------# # libsqlite3 @@ -75,7 +75,8 @@ LOCAL_ALLOW_UNDEFINED_SYMBOLS := false #LOCAL_REQUIRED_MODULES += libsqlcipher libicui18n libicuuc LOCAL_STATIC_LIBRARIES := libsqlcipher libicui18n libicuuc -LOCAL_CFLAGS += $(android_sqlite_cflags) $(sqlite_cflags) -DOS_PATH_SEPARATOR="'/'" +LOCAL_CFLAGS += $(android_sqlite_cflags) $(sqlite_cflags) \ + -DOS_PATH_SEPARATOR="'/'" -DHAVE_SYS_UIO_H LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/includes \ @@ -85,7 +86,7 @@ LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/platform-system-core/include \ $(LOCAL_PATH)/platform-frameworks-base/include -LOCAL_LDFLAGS += -L$(LOCAL_PATH)/android-libs/ -L$(LOCAL_PATH)/libs/armeabi/ +LOCAL_LDFLAGS += -L${LOCAL_PATH}/android-libs/$(TARGET_ARCH_ABI)/ -L$(LOCAL_PATH)/libs/$(TARGET_ARCH_ABI)/ LOCAL_LDLIBS := -llog -lutils -lcutils -lcrypto LOCAL_MODULE := libsqlcipher_android LOCAL_MODULE_FILENAME := libsqlcipher_android diff --git a/external/String16.cpp b/external/String16.cpp index 38baf531..6d021434 100644 --- a/external/String16.cpp +++ b/external/String16.cpp @@ -42,7 +42,7 @@ # define htons(x) (x) # endif #else -//# include +# include # include #endif diff --git a/external/android-libs/libandroid_runtime.so b/external/android-libs/armeabi/libandroid_runtime.so similarity index 100% rename from external/android-libs/libandroid_runtime.so rename to external/android-libs/armeabi/libandroid_runtime.so diff --git a/external/android-libs/libbinder.so b/external/android-libs/armeabi/libbinder.so similarity index 100% rename from external/android-libs/libbinder.so rename to external/android-libs/armeabi/libbinder.so diff --git a/external/android-libs/libcrypto.so b/external/android-libs/armeabi/libcrypto.so similarity index 100% rename from external/android-libs/libcrypto.so rename to external/android-libs/armeabi/libcrypto.so diff --git a/external/android-libs/libcutils.so b/external/android-libs/armeabi/libcutils.so similarity index 100% rename from external/android-libs/libcutils.so rename to external/android-libs/armeabi/libcutils.so diff --git a/external/android-libs/liblog.so b/external/android-libs/armeabi/liblog.so similarity index 100% rename from external/android-libs/liblog.so rename to external/android-libs/armeabi/liblog.so diff --git a/external/android-libs/libnativehelper.so b/external/android-libs/armeabi/libnativehelper.so similarity index 100% rename from external/android-libs/libnativehelper.so rename to external/android-libs/armeabi/libnativehelper.so diff --git a/external/android-libs/libstlport_shared.so b/external/android-libs/armeabi/libstlport_shared.so old mode 100755 new mode 100644 similarity index 100% rename from external/android-libs/libstlport_shared.so rename to external/android-libs/armeabi/libstlport_shared.so diff --git a/external/android-libs/libutils.so b/external/android-libs/armeabi/libutils.so similarity index 100% rename from external/android-libs/libutils.so rename to external/android-libs/armeabi/libutils.so diff --git a/external/android-libs/x86/libandroid_runtime.so b/external/android-libs/x86/libandroid_runtime.so new file mode 100644 index 00000000..85eb8a36 Binary files /dev/null and b/external/android-libs/x86/libandroid_runtime.so differ diff --git a/external/android-libs/x86/libbinder.so b/external/android-libs/x86/libbinder.so new file mode 100644 index 00000000..02b7c066 Binary files /dev/null and b/external/android-libs/x86/libbinder.so differ diff --git a/external/android-libs/x86/libcrypto.so b/external/android-libs/x86/libcrypto.so new file mode 100644 index 00000000..6a3cfd6e Binary files /dev/null and b/external/android-libs/x86/libcrypto.so differ diff --git a/external/android-libs/x86/libcutils.so b/external/android-libs/x86/libcutils.so new file mode 100644 index 00000000..7a2c8b8e Binary files /dev/null and b/external/android-libs/x86/libcutils.so differ diff --git a/external/android-libs/x86/liblog.so b/external/android-libs/x86/liblog.so new file mode 100644 index 00000000..902c0aec Binary files /dev/null and b/external/android-libs/x86/liblog.so differ diff --git a/external/android-libs/x86/libnativehelper.so b/external/android-libs/x86/libnativehelper.so new file mode 100644 index 00000000..b2d05268 Binary files /dev/null and b/external/android-libs/x86/libnativehelper.so differ diff --git a/external/android-libs/x86/libutils.so b/external/android-libs/x86/libutils.so new file mode 100644 index 00000000..9b0d80a9 Binary files /dev/null and b/external/android-libs/x86/libutils.so differ diff --git a/external/android-libs/x86/libz.so b/external/android-libs/x86/libz.so new file mode 100644 index 00000000..2ff49da6 Binary files /dev/null and b/external/android-libs/x86/libz.so differ diff --git a/jni/Android.mk b/jni/Android.mk index e8e008b5..4c1d6d57 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -2,11 +2,7 @@ LOCAL_PATH:= $(call my-dir) EXTERNAL_PATH := ../external -ifeq ($(TARGET_ARCH), arm) - LOCAL_CFLAGS += -DPACKED="__attribute__ ((packed))" -else - LOCAL_CFLAGS += -DPACKED="" -endif +LOCAL_CFLAGS += -DPACKED="__attribute__ ((packed))" #TARGET_PLATFORM := android-8 @@ -49,7 +45,7 @@ LOCAL_SHARED_LIBRARIES := \ libsqlite3_android LOCAL_CFLAGS += -U__APPLE__ -LOCAL_LDFLAGS += -L../external/android-libs/ -L../external/libs/armeabi/ +LOCAL_LDFLAGS += -L../external/android-libs/$(TARGET_ARCH_ABI) -L../external/libs/$(TARGET_ARCH_ABI)/ # libs from the NDK LOCAL_LDLIBS += -ldl -llog diff --git a/jni/Application.mk b/jni/Application.mk index ccc3b137..ea9d6e28 100644 --- a/jni/Application.mk +++ b/jni/Application.mk @@ -1,4 +1,5 @@ APP_PROJECT_PATH := $(shell pwd) +APP_ABI := armeabi x86 APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/Android.mk # fixes this error when building external/android-sqlite/android/sqlite3_android.cpp # icu4c/common/unicode/std_string.h:39:18: error: string: No such file or directory