android - JNI 调用未启动 Android 类
问题描述
我正在编写 Aar 库文件,这需要与使用 JNI 调用对该库进行异步调用的 Android APP 链接。这些 JNI 调用需要调用 Class 文件上的相应函数。
Android 异步调用 -> c++ JNI -> 库(aar)
这里的 aar 文件有 JNI 接收和对 Android 类文件的调用。我们需要从 JNI 将上下文传递给 Android 类文件。
控制权将传递给传递上下文和 jenv_obj 的 JNIClass_Initialize()。
从这里找不到课程,因为这个课程没有启动。
如何从 JNI 接口启动 Class 文件。
以下是代码:
得到
int JNIClass_Initialize(
void *context
, void *jenv_obj
) {
//Not able to initiate or invoke Class functions.
jclass cls = (jniEnvVal.env)->FindClass("ae/info/TestReader");
//Here it is crashing - As not getting the class
jmethodID initFun1= (jniEnvVal.env)->GetStaticMethodID(cls, "Init_func", "(Landroid/content/Context;)I");
jint retVal = (jniEnvVal.env)->CallStaticIntMethod(cls, initFun1= ,context);
}
public class TestReader{
Init_func(Context cnt) {
//Process it
}
}
谢谢你的帮助。
解决方案
推荐阅读
- bootstrap-4 - justify-content-around 用于轮播指标
- powershell - 可以忽略 VS Code 调试器中的代码行吗?
- c# - 如何在特定的 div 类中动态生成 texbox 或标签?
- asp.net-mvc - 在我的 DBContext 上,我收到一个错误,表明该实例已被跟踪。使用 nottracking 时会变得更糟
- html - 如何在html页面中以表格格式显示数据库表名
- php - 无法覆盖 Symfony 4 上 POST 请求中可选参数的默认值
- css - 显示:无;不工作但可见性:隐藏;做
- docker - docker-nexus3 ARM 官方支持
- python-3.x - python中的日期范围树实现?
- hive - 如何检查一个旧分区中使用的布隆过滤器