From 1ed4ba57eb9e9a68688a2745aff5653674f09d03 Mon Sep 17 00:00:00 2001 From: Edouard Tisserant Date: Sat, 27 Feb 2016 01:04:44 +0100 Subject: [PATCH] Android: use static linking for iconv with final JNI library. Was failing as shared object, because of iconv .so version number, not supported by ndk, and linker trying to find libiconv.so.2 in lolipop despite of preloading of libiconv.so --- android/external/Makefile | 1 + android/jni/Android.mk | 4 ++-- android/src/org/pEp/jniadapter/AndroidHelper.java | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/external/Makefile b/android/external/Makefile index cd5f947..ee106d1 100644 --- a/android/external/Makefile +++ b/android/external/Makefile @@ -301,6 +301,7 @@ libiconv/Makefile: libiconv.src.stamp cd libiconv && \ CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure \ + --enable-static \ --enable-maintainer-mode \ --host=$(HOST) \ --with-gnu-ld \ diff --git a/android/jni/Android.mk b/android/jni/Android.mk index 2647c20..c36d5f6 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -33,8 +33,8 @@ include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := libiconv -LOCAL_SRC_FILES := $(GPGBUILD)/lib/libiconv.so -include $(PREBUILT_SHARED_LIBRARY) +LOCAL_SRC_FILES := $(GPGBUILD)/lib/libiconv.a +include $(PREBUILT_STATIC_LIBRARY) # include $(CLEAR_VARS) # LOCAL_MODULE := openssl diff --git a/android/src/org/pEp/jniadapter/AndroidHelper.java b/android/src/org/pEp/jniadapter/AndroidHelper.java index 38689d3..e75d770 100644 --- a/android/src/org/pEp/jniadapter/AndroidHelper.java +++ b/android/src/org/pEp/jniadapter/AndroidHelper.java @@ -144,7 +144,6 @@ public class AndroidHelper { System.loadLibrary("gpg-error"); System.loadLibrary("assuan"); System.loadLibrary("gpgme"); - System.loadLibrary("iconv"); // With lots of log nativeSetup( "9:"+new File(c.getFilesDir(), "gpgme.log").getAbsolutePath());