vam*_*ibm 5 debugging java-native-interface native-methods android-ndk
有人可以告诉我,如果我在这里遗失了什么吗?我在shell中尝试以下命令.
$ ./adb shell stop $ ./adb shell setprop dalvik.vm.checkjni true $ ./adb shell start
但是当我将apk安装到设备上时,Logcat总是会显示"CheckJNI is OFF".在eclipse中我还需要做些什么来启用XCheck:Jni标志吗?
感谢BD的任何帮助
有四种不同的情况,一种用于root设备,一种用于仿真器,一种用于常规设备,一种用于root或常规设备.
在root设备上我能够让它工作如下:
在adb中:
adb shell
Run Code Online (Sandbox Code Playgroud)
在这个shell之后推出:
su
stop
setprop dalvik.vm.checkjni true
start
Run Code Online (Sandbox Code Playgroud)
重新启动此设备并在启动后,我看到日志消息:
CheckJNI is ON
Run Code Online (Sandbox Code Playgroud)
对于其他案例,请参阅官方文档中的一些理论:
有几种方法可以启用CheckJNI.
如果您正在使用模拟器,则默认情况下CheckJNI处于启用状态.
如果您有root设备,则可以使用以下命令序列在启用CheckJNI的情况下重新启动运行时:
Run Code Online (Sandbox Code Playgroud)adb shell stop adb shell setprop dalvik.vm.checkjni true adb shell start在其中任何一种情况下,当运行时启动时,您将在logcat输出中看到类似的内容:
Run Code Online (Sandbox Code Playgroud)D AndroidRuntime: CheckJNI is ON如果您有常规设备,则可以使用以下命令:
Run Code Online (Sandbox Code Playgroud)adb shell setprop debug.checkjni 1这不会影响已经运行的应用程序,但从那时起启动的任何应用程序都将启用CheckJNI.(将属性更改为任何其他值或只是重新启动将再次禁用CheckJNI.)在这种情况下,您将在下次应用程序启动时在logcat输出中看到类似的内容:
Run Code Online (Sandbox Code Playgroud)D Late-enabling CheckJNI您还可以在应用程序的清单中设置android:debuggable属性,以便为您的应用启用CheckJNI.请注意,Android构建工具将自动为某些构建类型执行此操作.
| 归档时间: |
|
| 查看次数: |
12517 次 |
| 最近记录: |