From 5be53fae581d9dc2597a05c51a1ae8c584fa0cde Mon Sep 17 00:00:00 2001 From: Nikolay Pultsin Date: Thu, 23 Feb 2012 22:51:29 +0100 Subject: [PATCH] fixed native code loading issues --- jni/Android.mk | 7 ++++++- jni/NativeFormats/JavaPluginCollection.cpp | 4 +++- .../geometerplus/fbreader/formats/PluginCollection.java | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/jni/Android.mk b/jni/Android.mk index 25f9fd71c..3ed36f0fe 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -18,6 +18,11 @@ include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := NativeFormats-v1 -LOCAL_SRC_FILES := $(wildcard NativeFormats/*.cpp) $(wildcard NativeFormats/util/*.cpp) +LOCAL_SRC_FILES := \ + NativeFormats/JavaNativeFormatPlugin.cpp \ + NativeFormats/JavaPluginCollection.cpp \ + NativeFormats/util/AndroidUtil.cpp +LOCAL_C_INCLUDES := \ + $(LOCAL_PATH)/NativeFormats/util include $(BUILD_SHARED_LIBRARY) diff --git a/jni/NativeFormats/JavaPluginCollection.cpp b/jni/NativeFormats/JavaPluginCollection.cpp index 4af49a5ee..06433bb35 100644 --- a/jni/NativeFormats/JavaPluginCollection.cpp +++ b/jni/NativeFormats/JavaPluginCollection.cpp @@ -19,6 +19,8 @@ #include +#include + #include extern "C" @@ -26,7 +28,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_geometerplus_fbreader_formats_PluginColl //const std::vector > plugins = PluginCollection::Instance().plugins(); const size_t size = 0;//plugins.size(); jclass cls = env->FindClass(AndroidUtil::Class_NativeFormatPlugin); - jobjectArray javaPlugins = env->NewObjectArray(size, cls, NULL); + jobjectArray javaPlugins = env->NewObjectArray(size, cls, 0); /* for (size_t i = 0; i < size; ++i) { diff --git a/src/org/geometerplus/fbreader/formats/PluginCollection.java b/src/org/geometerplus/fbreader/formats/PluginCollection.java index 6883278bc..4896086dc 100644 --- a/src/org/geometerplus/fbreader/formats/PluginCollection.java +++ b/src/org/geometerplus/fbreader/formats/PluginCollection.java @@ -47,7 +47,7 @@ public class PluginCollection { ourInstance = new PluginCollection(); // This code can not be moved to constructor because nativePlugins() is a native method - for (FormatPlugin p : ourInstance.nativePlugins()) { + for (NativeFormatPlugin p : ourInstance.nativePlugins()) { ourInstance.addPlugin(p); } } @@ -114,5 +114,5 @@ public class PluginCollection { } } - private native FormatPlugin[] nativePlugins(); + private native NativeFormatPlugin[] nativePlugins(); }