今天在Android Studio中新建了一個默認的native工程,默認使用CMake來構建,理論上一行代碼就不用寫就可以運行一個helloworld的示例程序(Hello from C++”)卖局。
在gradle更新的時候遇到如下錯誤:
從Build View中無法看到更多信息捻爷,但可以確定是在執(zhí)行externalNativeBuild腳本使用CMake構建的時候出錯的
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
}
}
...
直接make工程:
可以從編譯日志中查詢更多的堆棧信息,找不到根源錯誤
最后在工程目錄下使用gradle命令編譯:
./gradlew build
可以看到CMake構建時的錯誤日志帽蝶,CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
從日志上來看沒有安裝ninja
方法1:下載打包好的可執(zhí)行文件绒怨,解壓得到ninja文件
方法2:
$ git clone git://github.com/ninja-build/ninja.git && cd ninja
$ git checkout release
$ python ./bootstrap.py
上述命令會在當前目錄下生成一個ninja文件纯赎,然后將這個文件拷貝到/usr/local/bin目錄下就完成安裝了。
重新構建工程窖逗,成功址否!
環(huán)境參考:
MacOS Mojave 10.14.2
Android Studio 3.3.1
gradle 3.1.4
cmake version 3.13.2