Kaydet (Commit) ae812469 authored tarafından Tor Lillqvist's avatar Tor Lillqvist Kaydeden (comit) Tor Lillqvist

We don't need the library search path anymore

As we don't use any dlopen() etc wrappers now with just one single
DSO, we have no use for the library search path either.

Change-Id: Ifaf11c4785a90fe5c7dafb3310bc7933ea31238c
üst 1c84f6f4
...@@ -60,8 +60,7 @@ public class Bootstrap extends NativeActivity ...@@ -60,8 +60,7 @@ public class Bootstrap extends NativeActivity
private static native boolean setup(String dataDir, private static native boolean setup(String dataDir,
String cacheDir, String cacheDir,
String apkFile, String apkFile);
String[] ld_library_path);
public static native boolean setup(Object lo_main_argument, public static native boolean setup(Object lo_main_argument,
int lo_main_delay); int lo_main_delay);
...@@ -128,16 +127,9 @@ public class Bootstrap extends NativeActivity ...@@ -128,16 +127,9 @@ public class Bootstrap extends NativeActivity
redirect_stdio(true); redirect_stdio(true);
String llp = System.getenv("LD_LIBRARY_PATH");
if (llp == null)
llp = "/vendor/lib:/system/lib";
String[] llpa = llp.split(":");
if (!setup(dataDir, if (!setup(dataDir,
activity.getApplication().getCacheDir().getAbsolutePath(), activity.getApplication().getCacheDir().getAbsolutePath(),
activity.getApplication().getPackageResourcePath(), activity.getApplication().getPackageResourcePath()))
llpa))
return; return;
// Extract files from the .apk that can't be used mmapped directly from it // Extract files from the .apk that can't be used mmapped directly from it
......
...@@ -84,7 +84,6 @@ static int sleep_time = 0; ...@@ -84,7 +84,6 @@ static int sleep_time = 0;
/* These are valid / used in all apps. */ /* These are valid / used in all apps. */
static const char *data_dir; static const char *data_dir;
static const char *cache_dir; static const char *cache_dir;
static const char **library_locations;
static void *apk_file; static void *apk_file;
static int apk_file_size; static int apk_file_size;
static JavaVM *the_java_vm; static JavaVM *the_java_vm;
...@@ -315,59 +314,31 @@ JNI_OnLoad(JavaVM* vm, void* reserved) ...@@ -315,59 +314,31 @@ JNI_OnLoad(JavaVM* vm, void* reserved)
// public static native boolean setup(String dataDir, // public static native boolean setup(String dataDir,
// String cacheDir, // String cacheDir,
// String apkFile, // String apkFile)
// String[] ld_library_path);
__attribute__ ((visibility("default"))) __attribute__ ((visibility("default")))
jboolean jboolean
Java_org_libreoffice_android_Bootstrap_setup__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2_3Ljava_lang_String_2 Java_org_libreoffice_android_Bootstrap_setup__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2
(JNIEnv* env, (JNIEnv* env,
jobject clazz, jobject clazz,
jstring dataDir, jstring dataDir,
jstring cacheDir, jstring cacheDir,
jstring apkFile, jstring apkFile)
jobjectArray ld_library_path)
{ {
struct stat st; struct stat st;
int i, n, fd; int fd;
const char *dataDirPath; const char *dataDirPath;
const char *cacheDirPath; const char *cacheDirPath;
const char *apkFilePath; const char *apkFilePath;
char *lib_dir;
(void) clazz; (void) clazz;
n = (*env)->GetArrayLength(env, ld_library_path);
library_locations = malloc((n+2) * sizeof(char *));
dataDirPath = (*env)->GetStringUTFChars(env, dataDir, NULL); dataDirPath = (*env)->GetStringUTFChars(env, dataDir, NULL);
data_dir = strdup(dataDirPath); data_dir = strdup(dataDirPath);
lib_dir = malloc(strlen(dataDirPath) + 5);
strcpy(lib_dir, dataDirPath);
strcat(lib_dir, "/lib");
(*env)->ReleaseStringUTFChars(env, dataDir, dataDirPath); (*env)->ReleaseStringUTFChars(env, dataDir, dataDirPath);
library_locations[0] = lib_dir;
for (i = 0; i < n; i++) {
const char *s = (*env)->GetStringUTFChars(env, (*env)->GetObjectArrayElement(env, ld_library_path, i), NULL);
library_locations[i+1] = strdup(s);
(*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, ld_library_path, i), s);
}
library_locations[n+1] = NULL;
for (n = 0; library_locations[n] != NULL; n++)
LOGI("library_locations[%d] = %s", n, library_locations[n]);
cacheDirPath = (*env)->GetStringUTFChars(env, cacheDir, NULL); cacheDirPath = (*env)->GetStringUTFChars(env, cacheDir, NULL);
cache_dir = strdup(cacheDirPath); cache_dir = strdup(cacheDirPath);
(*env)->ReleaseStringUTFChars(env, cacheDir, cacheDirPath); (*env)->ReleaseStringUTFChars(env, cacheDir, cacheDirPath);
apkFilePath = (*env)->GetStringUTFChars(env, apkFile, NULL); apkFilePath = (*env)->GetStringUTFChars(env, apkFile, NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment