From bc382e390aec0eba56992f94fd0da7c358f9f79e Mon Sep 17 00:00:00 2001 From: Philipp Wiesemann Date: Thu, 23 Oct 2014 16:45:18 +0200 Subject: [PATCH] Added an option to define libraries to be loaded on Android in a derived class. This way it is no more needed to modify SDLActivity.java to add own libraries. --- .../src/org/libsdl/app/SDLActivity.java | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/android-project/src/org/libsdl/app/SDLActivity.java b/android-project/src/org/libsdl/app/SDLActivity.java index ec6f84c19..58a360df4 100644 --- a/android-project/src/org/libsdl/app/SDLActivity.java +++ b/android-project/src/org/libsdl/app/SDLActivity.java @@ -54,18 +54,28 @@ public class SDLActivity extends Activity { // Audio protected static AudioTrack mAudioTrack; + /** + * This method is called by SDL before loading the native shared libraries. + * It can be overridden to provide names of shared libraries to be loaded. + * The default implementation returns the defaults. It never returns null. + * An array returned by a new implementation must at least contain "SDL2". + * Also keep in mind that the order the libraries are loaded may matter. + * @return names of shared libraries to be loaded (e.g. "SDL2", "main"). + */ + protected String[] getLibraries() { + return new String[] { + "SDL2", + // "SDL2_image", + // "SDL2_mixer", + // "SDL2_net", + // "SDL2_ttf", + "main" + }; + } + // Load the .so public void loadLibraries() { - String AppLibraries[] = { - "SDL2", - // "SDL2_image", - // "SDL2_mixer", - // "SDL2_net", - // "SDL2_ttf", - "main" - }; - - for (String lib : AppLibraries) { + for (String lib : getLibraries()) { System.loadLibrary(lib); } }