解决方案 »
- android模拟器上网为什么要设置代理才可以上网呢?
- 散分了!ANDROID GPS 开发必须了解的
- java 是解释型的语言吧?
- android蓝牙打印功能
- 一个关于补间动画的问题,TranslateAnimation不改变ImageView的坐标吗??急!急!
- Android给Web服务器发送请求并且获得数据出现错误!
- mplayer-android编译问题
- Slidingmenu setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN)。菜单无法获取焦点
- 求教:Eclipse中跨项目引用layout的问题
- android短信搜索
- 设置spinner的宽度
- No ADV available
com.jni.test JNItest printJNI
C里面定义成static jint
com_jni_JNItest_printJNI(JNIEnv *env, jobject thiz) 不对吧应该是static jint
com_jni_test_JNItest_printJNI(JNIEnv *env, jobject thiz)吧我也是新手。不一定对,呵呵
正解 printJNI是定义在包com.jni内的类JNItest中不是在com.jni.test的类JNItest
比如 _printJNI jni_onLoad方式,不必要用标准的jni命名方式。用了反而引起误会
另外, 你env->GetFieldID(clazz, "mNativeContext", "I")干啥呢?应该:
fields.context = env->GetFieldID(clazz, "mNativeContext", "I");
env->GetFieldID(clazz, "mNativeContext", "I");这样可以编译的过去吧
要改成(*env)->GetFieldID(clazz, "mNativeContext", "I");
【env->GetFieldID(clazz, "mNativeContext", "I");这样可以编译的过去吧
要改成(*env)->GetFieldID(clazz, "mNativeContext", "I");】
这种说法是错误的,因为他的JNI是用C++写的,所以不需要加(*),用C写的需要加(*)(*env)->GetFieldID(env,clazz, "mNativeContext", "I");】fields.context = env->GetFieldID(clazz, "mNativeContext", "I")
为什么取不到,是因为那一块环境没有设置吗?各位大侠,有遇到这样的问题吗,请赐教