搭配使用 Android Studio 2.2 或更高版本與 Android Plugin for Gradle 版本 2.2.0 或更高版本時,您可以將 C 和 C++ 代碼編譯到 Gradle 與 APK 一起封裝的原生庫中,將這類代碼添加到您的應用中。您的 Java 代碼隨后可以通過 Java 原生接口 (JNI) 調用您的原生庫中的函數。如果您想要詳細了解如何使用 JNI 框架,請閱讀 Android 的 JNI 提示。
按照官網:
https://developer.android.com/studio/projects/add-native-code.html?hl=zh-cn
給的提示更新as后添加編譯cpp的確容易了很多。但是不巧的是我這不知為何添加了新的cpp后無法正常加入到工程進而編譯。表現為在IDE 左側打開 Project 窗格並選擇 Android 視圖無法看到新加入的cpp
添加.cpp .h等文件
無法顯示
只有as默認生成的cpp,在native-lib.cpp中使用新加的類后編譯的時候也提示無法找到相應的類。可見gradle是沒有識別到這些新添加的文件。
怎么解決呢?我重啟as,重啟電腦,重新安裝as都沒有用於是繼續尋找官網以找解決問題的方案,google好久也沒有答案,於是決定自己解決吧。
這段文字給了我提示:
於是乎我去CMakeLists.txt文件中查看是否添加了新的文件 ,果然沒有。於是查找cmake官網:
https://cmake.org/documentation/
https://cmake.org/cmake/help/v3.4/manual/cmake-buildsystem.7.html
注意 as對應的cmake版本
上圖是截取自工程中自動生成的CMakeLists.txt文件。
ok 於是自己手動添加一下新的文件
之后點擊一下IDE中的提示按鍵:
終於:
問題解決。
總結
1.發現問題查看編譯這些模塊的原理。
2.查找對應版本的cmake語法,正確修改CMakeLists.txt文件。
3.根據IDE提示Sync Now。