[Android JNI开发]JAVA编译器的坑——GetStaticMethodID 找不到的另外一种可能
来源:互联网 发布:查询软件 编辑:程序博客网 时间:2024/05/22 03:28
近日在ANDROID上实现一个NDK功能,需要在C++新起的代码中回调JAVA的代码,按照惯例:
1. JNI_OnLoad()中调用
javaClass = (jclass) env->NewGlobalRef(env->FindClass("com/xxx/yyy/zzz");)
2. 线程函数中
JNIEnv* env;
int attached = jvm->AttachCurrentThread(&env, 0);
jmethodID javaMethodId = env->GetStaticMethodID(javaClass,
"updateStatus", "(III)V");
高潮来了updateStatus找不到,而其他的方法确可以找到,并且成功调用,排除了方法签名的种种问题之后,终于可以确定updateStatus方法因为在Java中没被调用,而在编译的时候被优化掉了。在java的代码中,随便调用下,这个问题便解决了。
应该会有关键字来阻止这个行为,只是现在还没发现,有了再补上。有知道的大侠请告知我。
jymfist@163.com
0 0
- [Android JNI开发]JAVA编译器的坑——GetStaticMethodID 找不到的另外一种可能
- 静态加载库文件时编译器提示找不到该文件的一种可能
- 不依赖增长的治理:探寻发展的另外一种可能
- 更换内存容量和挂载bank需要修改的地方——Starting kernel ... Uncompressing Linux...的另外一种可能
- 关于 CSS样式丢失 的另外一种可能
- Android培训班(75)Dalvik虚拟机的GetStaticMethodID函数
- Dalvik虚拟机的GetStaticMethodID函数
- 移动开发:终端编程——跨平台的另外一种方法
- 报找不到so文件时有可能的一种情况
- [Java][Android] Javah Jni 遇到找不到类的解决办法
- [Java][Android] Javah Jni 遇到找不到类的解决办法
- Android——另外一种增删查改的方式(ContentProvider常用)
- java.lang.NoSuchMethodError的一种可能
- java.lang.NoSuchMethodError的一种可能
- java.lang.NoSuchMethodError的一种可能
- java.lang.AbstractMethodError: 的一种错误可能
- [Android] Android Studio 导入 Samples 的另外一种方法
- IE 打开网页出错/退出、360 打开界面后退出的另外一种可能及解决办法
- Alertialog警告对话框的用法
- Xcode的Architectures和Valid Architectures的区别
- 关于序列化:java.io.Serializable
- strtok_r 和 strsep 使用实例
- myeclipse显示web-inf下的classes文件夹
- [Android JNI开发]JAVA编译器的坑——GetStaticMethodID 找不到的另外一种可能
- Mindmanager/Mindjet 14 基础教程
- jsp开源标签库
- 每日一小练——等值数目
- object-c中创建线程的方法有哪些?在主线程中执行代码用什么方法?如果想要延时执行代码,用什么方法?
- 中国11名渔民今日将在菲受审
- STM8L101X OPTION BYTES
- Xceed WPF 3D显示控件Xceed 3D Views for WPF控件详细介绍使用及下载
- 给easyui datagrid设置title