1 package org.libsdl.app;
3 import android.content.Context;
5 import java.lang.reflect.*;
38 public static void loadLibrary(String libraryName)
throws UnsatisfiedLinkError, SecurityException, NullPointerException {
40 if (libraryName == null) {
41 throw new NullPointerException(
"No library name provided.");
54 Class relinkClass =
mContext.getClassLoader().loadClass(
"com.getkeepsafe.relinker.ReLinker");
55 Class relinkListenerClass =
mContext.getClassLoader().loadClass(
"com.getkeepsafe.relinker.ReLinker$LoadListener");
56 Class contextClass =
mContext.getClassLoader().loadClass(
"android.content.Context");
57 Class stringClass =
mContext.getClassLoader().loadClass(
"java.lang.String");
61 Method forceMethod = relinkClass.getDeclaredMethod(
"force");
62 Object relinkInstance = forceMethod.invoke(null);
63 Class relinkInstanceClass = relinkInstance.getClass();
66 Method loadMethod = relinkInstanceClass.getDeclaredMethod(
"loadLibrary", contextClass, stringClass, stringClass, relinkListenerClass);
67 loadMethod.invoke(relinkInstance,
mContext, libraryName, null, null);
69 catch (
final Throwable
e) {
72 System.loadLibrary(libraryName);
74 catch (
final UnsatisfiedLinkError ule) {
77 catch (
final SecurityException se) {
static native int nativeSetupJNI()
SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char const char SDL_SCANF_FORMAT_STRING const char return SDL_ThreadFunction const char void return Uint32 return Uint32 SDL_AssertionHandler void SDL_SpinLock SDL_atomic_t int int return SDL_atomic_t return void void void return void return int return SDL_AudioSpec SDL_AudioSpec return int int return return int SDL_RWops int SDL_AudioSpec Uint8 Uint32 * e
static void loadLibrary(String libraryName)
static screen_context_t context
static void setContext(Context context)
static native int nativeSetupJNI()
static native int nativeSetupJNI()
static Context getContext()