Android NDK:如何在使用NativeActivity和native_app_glue时获取类加载器?

3

好的,我有一个本地应用程序,它在主线程之外运行,需要使用C++来访问一些Java代码。由于我的类加载器默认为我的系统,不会加载任何我的应用程序的Java源代码,因此我一直在使用FindClass()时遇到错误。

一个常见的解决方法是在JNI_OnLoad中全局引用应用程序的类,然后将我的代码分叉到另一个线程中,这样ClassLoader可以来自我的应用程序,并找到所有我的类,但是由于我正在实现具有native_app_glue的NativeActivity,因此JNI_OnLoad从未被调用。

这里有一个关于"getClassLoader"方法的参考:https://groups.google.com/forum/#!msg/android-ndk/cKZRjSMUemw/MPXgmjYZ9qkJ

据说这个方法可以工作,但是我找不到它,也不知道它的实现方式。

我只是想要一个或两个示例,谢谢。


http://developer.android.com/training/articles/perf-jni.html#faq_FindClass - krsteeve
好的,我已经完成了。答案在这里:https://dev59.com/uG3Xa4cB1Zd3GeqPi89l ,只需要将 this/is/my/java/class 改为 this.is.my.java.class - 然后它就可以工作了 ;D - Nathaniel Bennett
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接