Browse Source

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

JNI-44
Edouard Tisserant 9 years ago
parent
commit
1ed4ba57eb
  1. 1
      android/external/Makefile
  2. 4
      android/jni/Android.mk
  3. 1
      android/src/org/pEp/jniadapter/AndroidHelper.java

1
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 \

4
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

1
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());

Loading…
Cancel
Save