Android Studio C/C++開發環境配置
我的開發環境 : Win 10 + android studio 1.5
ldLibs "log" // 為C++/C 添加logcat 編譯選項
abiFilters "armeabi", "armeabi-v7a", "x86" // 生成運行.so的平台相關庫
一, 安裝NDK 開發環境:
1. Settings -> Android SDK -> SDK Tools -> Android NDK
勾選住Android NDK 就會安裝NDK
2. Project Structure -> SDK Location -> Android NDK location -> 選擇default
二, 生成C/C++所需要的文件
1. 新建一個java文件, 定義好java所需要的C/C++接口, 定義如下:
public class Test{
static {
System.loadLibrary("xxx");
}
private static native void
open
()
;
}
2. 生成C/C++頭文件
編譯之前寫好的java工程, 在Terminal 進入CMD命令行
cd build/intermediates/classes/debug
-> javah -jni com.ijidou.jni.Test
把生成的文件拷貝到src/main/jni目錄下, jni為新建目錄
3. 配置gradle文件
android{
....
ndk {
moduleName "xxx " // 編譯出來的libxxx.so
ldLibs "log" // 為C++/C 添加logcat 編譯選項
abiFilters "armeabi", "armeabi-v7a", "x86" // 生成運行.so的平台相關庫
}
....
}
4. 定義logcat 相關 宏
#define LOG_TAG "native_fm_bingluo"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
在函數中, 可以直接使用 LOGI( "log 輸出 %s" , buf); 可以當printf使用
總結:
Android Studio 在開發C/C++時 , 會自動聯想所需的函數名及參數格式 ,通過logcat 也可以很方便調試C/C++的代碼。