mirror of https://github.com/kiwix/libkiwix.git
#239 ReLinker should be used to load library
This commit is contained in:
parent
93c404a952
commit
5adf7891cc
|
@ -15,3 +15,7 @@ android {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation 'com.getkeepsafe.relinker:relinker:1.3.1'
|
||||||
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <jni.h>
|
#include <jni.h>
|
||||||
#include "org_kiwix_kiwixlib_JNIKiwix.h"
|
#include "org_kiwix_kiwixlib_JNIICU.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
pthread_mutex_t globalLock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER;
|
pthread_mutex_t globalLock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_kiwix_kiwixlib_JNIKiwix_setDataDirectory(
|
JNIEXPORT void JNICALL Java_org_kiwix_kiwixlib_JNIICU_setDataDirectory(
|
||||||
JNIEnv* env, jobject obj, jstring dirStr)
|
JNIEnv* env, jobject obj, jstring dirStr)
|
||||||
{
|
{
|
||||||
std::string cPath = jni2c(dirStr, env);
|
std::string cPath = jni2c(dirStr, env);
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
kiwix_jni = custom_target('jni',
|
kiwix_jni = custom_target('jni',
|
||||||
input: ['org/kiwix/kiwixlib/JNIKiwix.java',
|
input: ['org/kiwix/kiwixlib/JNIICU.java',
|
||||||
'org/kiwix/kiwixlib/JNIKiwixReader.java',
|
'org/kiwix/kiwixlib/JNIKiwixReader.java',
|
||||||
'org/kiwix/kiwixlib/JNIKiwixSearcher.java',
|
'org/kiwix/kiwixlib/JNIKiwixSearcher.java',
|
||||||
'org/kiwix/kiwixlib/JNIKiwixInt.java',
|
'org/kiwix/kiwixlib/JNIKiwixInt.java',
|
||||||
|
@ -16,7 +16,7 @@ kiwix_jni = custom_target('jni',
|
||||||
)
|
)
|
||||||
|
|
||||||
kiwix_sources += [
|
kiwix_sources += [
|
||||||
'android/kiwix.cpp',
|
'android/kiwixicu.cpp',
|
||||||
'android/kiwixreader.cpp',
|
'android/kiwixreader.cpp',
|
||||||
'android/kiwixsearcher.cpp',
|
'android/kiwixsearcher.cpp',
|
||||||
kiwix_jni]
|
kiwix_jni]
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2013 Emmanuel Engelhart <kelson@kiwix.org>
|
||||||
|
* Copyright (C) 2017 Matthieu Gautier <mgautier@kymeria.fr>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.kiwix.kiwixlib;
|
||||||
|
|
||||||
|
public class JNIICU
|
||||||
|
{
|
||||||
|
static public native void setDataDirectory(String icuDataDir);
|
||||||
|
}
|
|
@ -20,12 +20,17 @@
|
||||||
|
|
||||||
package org.kiwix.kiwixlib;
|
package org.kiwix.kiwixlib;
|
||||||
|
|
||||||
import org.kiwix.kiwixlib.JNIKiwixReader;
|
import android.content.Context;
|
||||||
import org.kiwix.kiwixlib.JNIKiwixString;
|
import com.getkeepsafe.relinker.ReLinker;
|
||||||
|
import org.kiwix.kiwixlib.JNIICU;
|
||||||
|
|
||||||
public class JNIKiwix
|
public class JNIKiwix
|
||||||
{
|
{
|
||||||
static { System.loadLibrary("kiwix"); }
|
public JNIKiwix(final Context context){
|
||||||
|
ReLinker.loadLibrary(context, "kiwix");
|
||||||
|
}
|
||||||
|
|
||||||
public native void setDataDirectory(String icuDataDir);
|
public void setDataDirectory(String icuDataDir) {
|
||||||
|
JNIICU.setDataDirectory(icuDataDir);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue