上一篇博客Android NDK开发学习:我的第一个NDK项目虽然是用Eclipse开发,但是在编译项目和运行项目时,都用到了CMD窗口命令,包括javah及ndk-build等命令。如果Eclipse工具可以直接进行编译NDK项目,不用来回切换Eclipse及CMD窗口多好呀。这个愿望肯定是可以实现的。接下来开始Eclispe之NDK配置。
还是在我的Android NDK开发学习:我的第一个NDK项目项目上直接操作吧。
第一步:首先配置Eclispe中NDK环境,Eclipse-->Window-->Preferences--->Android--->NDK,如图配置:
第二步:对要进行编译的Android项目进行配置。工程鼠标右键--->Properties-->Resource--->Builers,进行下图配置。
1,NEW一个Builder
2,对新建的Builder进行配置:
还需要进行一个配置,如图:
现在就在Eclipse及Android项目都配置好了,把我们项目中之前生成的libs下的.so文件及obj文件删除,直接用Eclipse运行项目,发现没有问题的。这样就比之前来回与cmd与Eclipse中切换轻松多了。
---------------NDK开发之Eclipse打印LOG日志--------------------------------------------------------------
我们开发项目的时候,通过打印LOG日志来调试程序是常用手段之一,那NDK开发的日志怎么打印呢?主要有以下几步:
1. 引入头文件 #include <Android/log.h>
#include <android/log.h>
2. 在android.mk中添加 LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog(千万不要写错,注意空格,否则什么都不显示)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := first
LOCAL_SRC_FILES := first.c
# for logging
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)
3. __android_log_print(ANDROID_LOG_INFO, "TAG","%s", “HELLO”); 其中TAG是标志最后就是内容了。
#define TAG "ldm"
#define LOGV(...) ((void)__android_log_print(ANDROID_LOG_VERBOSE, TAG, __VA_ARGS__))//打印日志方法,Warn级别LOG
4,调用打印日志方法。
JNIEXPORT jstring JNICALL Java_com_ldm_firstndk_MainActivity_getStringFromC(
JNIEnv *env, jobject obj) {
LOGV("my ndk log"); //调用打印日志方法
return (*env)->NewStringUTF(env, "My First JNI PROJECT!");
}
在NDK开发包中的samples中很多示例项目都有打印日志的demo,我们可以多学习下。推荐博客:http://blog.csdn.net/luoshengyang/article/details/6581828,写得很实用。