永发信息网

Android里AndroidRuntime CheckJNI is OFF是怎么回事

答案:2  悬赏:40  手机版
解决时间 2021-02-06 01:40
  • 提问者网友:愿为果
  • 2021-02-05 18:17
Android里AndroidRuntime CheckJNI is OFF是怎么回事
最佳答案
  • 五星知识达人网友:洒脱疯子
  • 2021-02-05 19:30
放在while语句外面时,你只有一个Message对象,该对象通过sendMessage()被发送,然后在handleMessage()中得到处理,而此时你的循环仍在运行,又对该对象进行赋值。导致的结果是两个线程可能同时处理一个对象,就出错了。
而放在while里面的话,每次循环开始,都重新创建了一个message对象,你是针对不同对象进行操作的,故没有问题了。
全部回答
  • 1楼网友:平生事
  • 2021-02-05 21:00
参考如下 打开eclipse,选择菜单 "file->new->other..."; 选择“android->android project from existing code”后,点击 next; ① 点击"browse..."按钮,选择"ndk根目录下->samples->hello-jni",如目录是“d:\android\android-ndk-r9d\samples\hello-jni”; ② 取消“project:->project to import->tests”的复选框; ③ 选中“copy projects into workspace” ④ 然后点击 finish 完成 ① 选择““hellojni”工程后点击右键->android tools->add native support...”; ② 在 "add android native support" 界面点击 finish 打开工程文件 “hellojni->jni->hello-jni.c",发现报错:”method 'newstringutf' could not be resolved“;解决方法: ①将 文件名”hello-jni.c“改为”hello-jni.cpp“; ②将文件”hello-jni.cpp“中的 函数 ”java_com_example_hellojni_hellojni_stringfromjni“的最前面加上"extern c" ③将文件”hello-jni.cpp“中的 函数 ”java_com_example_hellojni_hellojni_stringfromjni“ 的最后一行的代码: ”return (*env)->newstringutf(env, "hello from jni ! compiled with abi " abi ".");“ 改为 ”return env->newstringutf("hello from jni ! compiled with abi " abi ".");“ ④在工程文件"hellojni->jni->android.mk”中的 “local_src_files := hello-jni.c”改为“local_src_files := hello-jni.cpp” ⑤点击工具栏上的按钮 build all(ctrl+b),或者使用快捷键"ctrl+b" ⑥改为后的文件内容如下: 点击工程"hellojni右键->debug as->andrid native application;结果报错: “unable to resolve target 'android-3'”,解决方法: 打开工程文件“hellojni->androidmanifest.xml”选择”manifest分页->manifest extras->uses sdk“,修改右边”atributes for user sdk“下的“min sdk version”为19, “target sdk version"为19, (注:19是android4.4.2版,目前最新版),保存; 保存后又发现错误提示”avoid hardcoding the debug mode;“,解决方法:”打开androidmanifest.xml文件application分页“,将"application attributes"下的 debuggable 属性框中的 true 清除掉; 点击工程"hellojni右键->debug as->andrid native application;运行结构
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯