From 18bcafffcedbf5c7ad6d74a7e74fd18aa02e0aca Mon Sep 17 00:00:00 2001 From: Sylvain Becker Date: Sat, 27 Jul 2019 20:21:42 +0200 Subject: [PATCH] Fixed bug 4739 - Android: loading native libs, generated by bundletool (Thanks akk0rd87) --- src/core/android/SDL_android.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/core/android/SDL_android.c b/src/core/android/SDL_android.c index 918df7bcf13a7..967458707db99 100644 --- a/src/core/android/SDL_android.c +++ b/src/core/android/SDL_android.c @@ -629,6 +629,17 @@ JNIEXPORT int JNICALL SDL_JAVA_INTERFACE(nativeRunMain)(JNIEnv *env, jclass cls, library_file = (*env)->GetStringUTFChars(env, library, NULL); library_handle = dlopen(library_file, RTLD_GLOBAL); + + if (!library_handle) { + /* When deploying android app bundle format uncompressed native libs may not extract from apk to filesystem. + In this case we should use lib name without path. https://bugzilla.libsdl.org/show_bug.cgi?id=4739 */ + const char *library_name = SDL_strrchr(library_file, '/'); + if (library_name && *library_name) { + library_name += 1; + library_handle = dlopen(library_name, RTLD_GLOBAL); + } + } + if (library_handle) { const char *function_name; SDL_main_func SDL_main;