Loading core/jni/Android.mk +2 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,8 @@ LOCAL_SHARED_LIBRARIES := \ libjpeg \ libusbhost \ libharfbuzz_ng \ libz libz \ libnativebridge ifeq ($(USE_OPENGL_RENDERER),true) LOCAL_SHARED_LIBRARIES += libhwui Loading core/jni/android_app_NativeActivity.cpp +20 −6 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ #include "android_view_InputChannel.h" #include "android_view_KeyEvent.h" #include "nativebridge/native_bridge.h" #define LOG_TRACE(...) //#define LOG_TRACE(...) ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__) Loading Loading @@ -251,15 +253,27 @@ loadNativeCode_native(JNIEnv* env, jobject clazz, jstring path, jstring funcName const char* pathStr = env->GetStringUTFChars(path, NULL); NativeCode* code = NULL; bool needNativeBridge = false; void* handle = dlopen(pathStr, RTLD_LAZY); if (handle == NULL) { if (NativeBridgeIsSupported(pathStr)) { handle = NativeBridgeLoadLibrary(pathStr, RTLD_LAZY); needNativeBridge = true; } } env->ReleaseStringUTFChars(path, pathStr); if (handle != NULL) { void* funcPtr = NULL; const char* funcStr = env->GetStringUTFChars(funcName, NULL); code = new NativeCode(handle, (ANativeActivity_createFunc*) dlsym(handle, funcStr)); if (needNativeBridge) { funcPtr = NativeBridgeGetTrampoline(handle, funcStr, NULL, 0); } else { funcPtr = dlsym(handle, funcStr); } code = new NativeCode(handle, (ANativeActivity_createFunc*)funcPtr); env->ReleaseStringUTFChars(funcName, funcStr); if (code->createActivityFunc == NULL) { Loading Loading
core/jni/Android.mk +2 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,8 @@ LOCAL_SHARED_LIBRARIES := \ libjpeg \ libusbhost \ libharfbuzz_ng \ libz libz \ libnativebridge ifeq ($(USE_OPENGL_RENDERER),true) LOCAL_SHARED_LIBRARIES += libhwui Loading
core/jni/android_app_NativeActivity.cpp +20 −6 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ #include "android_view_InputChannel.h" #include "android_view_KeyEvent.h" #include "nativebridge/native_bridge.h" #define LOG_TRACE(...) //#define LOG_TRACE(...) ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__) Loading Loading @@ -251,15 +253,27 @@ loadNativeCode_native(JNIEnv* env, jobject clazz, jstring path, jstring funcName const char* pathStr = env->GetStringUTFChars(path, NULL); NativeCode* code = NULL; bool needNativeBridge = false; void* handle = dlopen(pathStr, RTLD_LAZY); if (handle == NULL) { if (NativeBridgeIsSupported(pathStr)) { handle = NativeBridgeLoadLibrary(pathStr, RTLD_LAZY); needNativeBridge = true; } } env->ReleaseStringUTFChars(path, pathStr); if (handle != NULL) { void* funcPtr = NULL; const char* funcStr = env->GetStringUTFChars(funcName, NULL); code = new NativeCode(handle, (ANativeActivity_createFunc*) dlsym(handle, funcStr)); if (needNativeBridge) { funcPtr = NativeBridgeGetTrampoline(handle, funcStr, NULL, 0); } else { funcPtr = dlsym(handle, funcStr); } code = new NativeCode(handle, (ANativeActivity_createFunc*)funcPtr); env->ReleaseStringUTFChars(funcName, funcStr); if (code->createActivityFunc == NULL) { Loading