首页 > 解决方案 > JNIEnv FindClass 找不到我的包类

问题描述

我在 Android Studio 中构建 Android NDK 应用程序。我已经进行了子类化NativeActivity以将一些 Java 代码添加到我的应用程序中。而且我无法JNIEnv::FindClass在 C++ 端获得这个活动类。我知道:

  1. 我只能在 Java 线程中调用 FindClass(我这样做)
  2. 我应该使用全/分隔路径到我的班级(/com/my_package/MyActivity
  3. 该类应该是公开的(不确定是否真的应该公开,但它是公开的,以防万一)

此外,FindClass对于“内置”类,如android/net/Uri,android/content/Intent等也可以正常工作。我可以从 C++ 调用 Java 方法——一切正常。但是FindClass对于我自己的课程不起作用。

谷歌搜索类似的错误与我的情况不符。至少我的发现没有任何帮助。我在 Windows 7 中工作(不确定是否重要)。

标签: javaandroidandroid-ndkjava-native-interfacejnienv

解决方案


推荐阅读