【问题标题】:Android NDK : How to get a Class Loader With a NativeActivity and native_app_glue?Android NDK:如何使用 NativeActivity 和 native_app_glue 获取类加载器?
【发布时间】:2013-09-09 23:25:01
【问题描述】:

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

解决此问题的一种常见方法是在我的代码被分叉到另一个线程之前,在 JNI_OnLoad 处全局引用我的应用程序中的类,因此 ClassLoader 可以来自我的应用程序,其中可以找到我的所有类,但是因为我在使用 native_app_glue 实现 NativeActivity 时,JNI_OnLoad 永远不会被调用。

这里有一个方法“getClassLoader”的引用:https://groups.google.com/forum/#!msg/android-ndk/cKZRjSMUemw/MPXgmjYZ9qkJ

这应该可以工作,但是我找不到它,也不知道它的实现。

我只是在寻找一个例子,或者也是,谢谢。

【问题讨论】:

标签: android c++ android-ndk java-native-interface classloader


【解决方案1】:

好的,我已经做到了。

答案在这里:android Flurry integration with NDK app,只是,而不是执行 this/is/my/java/class ,而是执行 this.is.my.java.class - 然后它就可以工作了 ;D

【讨论】:

    猜你喜欢
    • 2011-12-03
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2012-11-22
    • 2016-08-15
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多