1、創建項目時添加
首先在AndroidStudio初始界面Start a new project
接着直接點擊 Native C++
之後可以設置C++的標準,我們選擇Default
在/app/src/main/cpp下是自動生成的native-lib.cpp,在這裏實現native方法
2、創建完普通項目再添加支持
如果嫌它總是會自動生成一些不是想要的東西(native-lib.cpp),你還得自己刪除,顯得累贅
於是我們着手自己添加C/C++支持
一樣,點擊普通項目生成
這是項目結構
設置app/build.gradle
打開app下的build.gradle
在defaultConfig{}
裏添加
externalNativeBuild{
cmake{
cppFlags ""//這裏選擇cpp設置
//如果要添加C++11支持就是 cppFlags "-std=c++11"
}
}
在android{}
裏添加
externalNativeBuild{
cmake{
path "CMakeLists.txt"
//相對於build.gradle的路徑,如果是同一個目錄,直接寫"CMakeLists.txt"(完全一致),如果在當前目錄xxx下
//則爲"xxx/CMakeLists.txt"
}
}
創建CMakeLists.txt
和剛纔說的一樣,創建的位置要和path裏寫的一致
我選擇創建在app下
注意 log和庫不要寫反,是把log鏈接到libMyLib(因爲自己的類是SHARED本身並不包含log的實現)
用add_library創建自己的庫,第一行名稱,第二行類型,第三行是相對路徑(可以隨便寫,要保持一致)
target_link_libraries是鏈接log庫與我的庫到程序中
具體可以看 cmake學習筆記之add_library、target_link_libraries和link_directories
gradle sync build同步
每次修改配置文件都會出現這個提示,點擊Sync Now就可以了
再看項目目錄,藍色文件夾(如java)表示已添加進項目
可是cpp文件夾還是灰的怎麼辦
別急,點擊菜單欄,按順序執行
1、Build->Rebuild-> Rebuild Projects
2、Build->Rebuild-> Linked C++ Projects
可以看到cpp已經變藍了
試着在MainActivity中添加本地方法並在main.cpp裏添加一個實現
這裏是佈局文件
主類
cpp文件
一個簡單的實現10以內隨機數的實例
這是摔坑好幾次總結出來的