NDK环境搭建说明。
1.下载cgywin并安装。
http://www.cygwin.com/
注意事项:
需要有 gcc / make / vim / patch
2.下载NDK for windows。
3.安装配置NDK.
修改cgywin的环境变量。
c:\cgywin\home\user
NDK=/cygdrive/E/dev/android-sdk/android_ndk_r5c
export NDK
PATH=$NDK:$PATH
export PATH
4.验证JNI的安装情况。
进入hellojni项目的jni目录
运行ndk-build。
然后到libs下检查.so
打包APK到模拟器上运行hellojni。
NDK的调试--LOGI
为什么需要LOGI? JNI的程序调试的主要手段之一是打印,printf不知道打印到什么地方去了。
LOGW不方便,见下面的URL http://www.cnblogs.com/MarsGG/articles/2057433.html
sprintf(szBuff....);
LOGW(szBuff....);
LOGI使用的时候很想printf,很方便,那么如何支持LOGI?
Android.mk 中如下处理
ifeq ($(HOST_OS),windows)
#NDK环境下
LOCAL_LDLIBS := -llog
else
#完整源码环境下
LOCAL_SHARED_LIBRARIES := libutils
endif
c 的代码里面这样处理,在头文件中加入下面的宏。
#ifndef _NDK_BUILD_
#include <utils/Log.h>
#else
//#define LOGI printf
#include <android/log.h>
#define LOGI(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#endif
转自http://blog.csdn.net/win2k3net/article/details/6618840