這可能是個系列文章吧,我也不知道,鬼才知道我會不會有毅力一直寫下去,不要奢望文章很好,這就是個踩坑爬坑記!
本節重點 環境
開發環境分兩種情況:
一、新建項目型。
二、老項目又想用c++型。(我屬於這種,純屬瞎折騰型)
針對第一種,看 這篇文章 吧,本着不寫重複代碼,不寫已經存在代碼的原則,我就不麻煩着再寫了。
針對第二種,網上說的貌似都不靠譜啊(全網都在說的其實就是android官網給出的方案),說什麼新建文件夾,
然後新建c++文件,關鍵是新建不了啊,老項目建的時候沒有勾選支持c++,現在就是新建了cpp文件夾,
還是不能新建c++文件,壓根就選不出來 .cpp/.h 文件類型,於是自己新建了個支持c++的項目,觀察之後發現,
人家那cpp文件夾是source文件夾,而我這就是一個文件夾,而要死不死的android studio又不能像IDEA那樣修
改文件夾爲Source類型,於是我就用了下面這個損招。
正題
0、將新建的支持c++的項目下app中的CMakeLists.txt 文件copy到老項目的
app 下
1、老項目 app下新建 cpp 文件夾(應該也能是其他名字,沒測試,不過應該要和 CMakeLists.txt 文件中的
一項路徑對應了,下面會說),然後裏面只管新建一個後綴爲.cpp的文件(例如test.cpp)
2、在CMakeLists.txt 文件中找到 add_library(...省略n個字...)配置項,加入上面新建.cpp文件的路徑(例如:
src/main/cpp/test.cpp)
3、在老項目的app.build文件的android下加入以下代碼
//爲了支持C++
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
代碼中的CMakeLists.txt
就是和之前copy的那個文件對應的,什麼意思很明瞭,可以隨便改名字。
在android 下的 defaultConfig 下加入以下代碼
//爲了支持c++
externalNativeBuild {
cmake {
cppFlags "-frtti -fexceptions"
}
}
好了,準備工作完畢了,接下來就是 點擊這個等待了很久的Sync Now了等待它build完畢就行了,是不是看到之前新建的那個cpp文件夾變成和java一樣顏色的文件夾了,
再試試在裏面新建cpp文件,是不是可以了,到此完畢,如有不對的,敬請提示指點