您好,登錄后才能下訂單哦!
前言
使用最新NDK,直接拋棄cygwin,以前做Android的項目要用到NDK就必須要下載安裝Cygwin(模擬Linux環境用的),下載CDT(Eclipse C/C++開發插件),下載NDK,還要配置編譯器,環境變量,特別麻煩,新版就不需要了。
工具
NDK,官方下載地址由于墻的原因不好打開,就在http://www.androiddevtools.cn/下載
配置
1.系統NDK環境變量配置
2.Eclipse配置NDK
3.Eclipse配置javah工具自動生成jni頭文件
#工作空間 ${project_loc} #工具執行參數 -v -classpath ${project_loc}/bin/classes -d ${project_loc}/jni -jni ${java_type_name}
使用時選中包含native方法的java文件,運行javah,即可在jni目錄中生成對應的jni頭文件
4.新建帶有jni工程
新建一個android工程,右鍵添加native支持,將會在工程目錄中生成Android.mk文件和cpp文件
5.配置C、CPP頭文件及ndk-build工具
右鍵工程--->Properties
添加環境變量NDKROOT,值為NDK的根目錄
6.LOG信息打印
若有源碼環境,拷貝system/core/inclue/cutils目錄拷貝到{ndk-dir}/platforms/android-xx/arch-arm/usr/include
拷貝out/target/product/tcc893x/system/lib/libcutils.so、libutils.so到{ndk-dir}/platforms/android-xx/arch-arm/usr/lib
Android.mk中添加
LOCAL_SHARED_LIBRARIES:= libutils libcutils LOCAL_LDLIBS := -llog
然后在jni中添加頭文件cutils/log.h,就可以使用ALOGE/ALOGD/ALOGD
若沒有就自己定義吧
#include "android/log.h" static const char *TAG="serial_port"; #define LOGI(fmt, args...) __android_log_print(ANDROID_LOG_INFO, TAG, fmt, ##args) #define LOGD(fmt, args...) __android_log_print(ANDROID_LOG_DEBUG, TAG, fmt, ##args) #define LOGE(fmt, args...) __android_log_print(ANDROID_LOG_ERROR, TAG, fmt, ##args)
以上就是關于Eclipse NDK的搭建,挺簡單的,完成之后直接運行就會自動編譯JNI原生代碼。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。