Android NDK学习之:Eclipse配置NDK环境及打印日志
2016-06-07 09:48
567 查看
上一篇博客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开发学习:我的第一个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,写得很实用。
相关文章推荐
- java.util.Collection List与其子类 Set与其子类
- Java中用内存映射处理大文件的实现代码
- spring MVC 配置详解
- 解决springmvc乱码问题
- Java基础之网页400 401 405 500错误
- JDK5的新特性:泛型、可变参数、静态导入
- MyEclipse快捷键大全
- 编程方式取得Spring上下文的Properties
- Java RandomAccessFile的用法详解
- java异常
- JAVA内存模型
- struts2与Spring MVC对比
- java的InputStream和OutputStream的理解【转】
- java设计模式——工厂模式
- Java - 贪心算法 - 跳跃游戏
- 【java并发】阻塞队列的使用
- spring + springmvc + cxf 实现webservice restful
- MyEclipse去除网上复制下来的来代码带有的行号
- JAVA实现MD5加密算法(使用MessageDigest)
- JAVA使用XFire开发Web Service客户端几种调用方式