在 linux 下面我们可以用 gdb, 在 windows 下 visual C++ 自带调试工具. Java 怎么调试? Sun 的 Java 可以直接
往屏幕上打印信息, android 的终端屏幕在那里?
当然, Java 也没有 printf( ) 可用. 那用什么? 用 android 日志 android.util.Log 类
在 Java 程序中首先引入 Log 类
import android.util.Log ;
然后 可以使用下面的方法打印信息到 Log
Log.v( "hello", "what's wrong?" );
要看到 android 日志, 用 ddms, 执行命令
p.bat ( 就是设置环境的那个批处理文件 )
ddms
接下来, 你就看到 ddms 程序界面了. 找一找, 你打印的信息在那里? 什么? 太多了, 找不到! 那过滤一下, tag:hello,
就找到了. 有时候, ddms 会死掉( 联系不到手机了 ), 重启它就行了.
在 C 程序里, 这么使用 :
#include <android/log.h>
#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "hello", __VA_ARGS__))
然后在程序中, 把它当 printf( ) 用就行了, 例如
LOGI( "my god, what'wrong? %d", n );
调试工具练习过了, 我们就可以开始做 JNI 程序了.