From b00fc31dd1d4543f8b017e8d7fef7686cd430bcc Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sun, 14 Jul 2024 12:46:23 +0800 Subject: Do not set LD_LIBRARY_PATH during Android initialization * doc/emacs/android.texi (Android Environment): Adjust documentation to match. * java/org/gnu/emacs/EmacsNoninteractive.java (main1): New function. Remove initialization of EmacsNative hither. (main): Acquire an ApplicationInfo or LoadedApk, as the case may be on the host system, derive a ClassLoader from the result, and load and call `main1' from within this class loader. * src/android-emacs.c (main): * src/android.c (setEmacsParams): Do not override LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH. This enables Emacs to execute subprocesses in certain "fortified" Android systems, amongst other things. --- src/android.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'src/android.c') diff --git a/src/android.c b/src/android.c index f90ebc04925..3c96867a6b5 100644 --- a/src/android.c +++ b/src/android.c @@ -1338,7 +1338,7 @@ NATIVE_NAME (setEmacsParams) (JNIEnv *env, jobject object, int pipefd[2]; pthread_t thread; - const char *java_string; + const char *java_string, *tem; struct stat statb; #ifdef THREADS_ENABLED @@ -1491,15 +1491,6 @@ NATIVE_NAME (setEmacsParams) (JNIEnv *env, jobject object, EmacsNoninteractive can be found. */ setenv ("EMACS_CLASS_PATH", android_class_path, 1); - /* Set LD_LIBRARY_PATH to an appropriate value. */ - setenv ("LD_LIBRARY_PATH", android_lib_dir, 1); - - /* EMACS_LD_LIBRARY_PATH records the location of the app library - directory. android-emacs refers to this, since users have valid - reasons for changing LD_LIBRARY_PATH to a value that precludes - the possibility of Java locating libemacs later. */ - setenv ("EMACS_LD_LIBRARY_PATH", android_lib_dir, 1); - /* If the system is Android 5.0 or later, set LANG to en_US.utf8, which is understood by the C library. In other instances set it to C, a meaningless value, for good measure. */ -- cgit v1.2.3