使用CMake命令編譯Android平臺下的包
由於Android Studio封裝了一些編譯的細節,只知道結果但是不知道內部具體做了什麼樣的操作,所有想具體學習一下
#前言
Android Studio在2.2的版本中引入了Cmake編譯,具體的Cmake編譯與ndk-build的一些區別可以在網路上搜尋
以下是簡易編譯指令碼 每行後要加 \符號連結,不然會commond not found 問題
cmake -H./ -B./build
-DANDROID_ABI=arm64-v8a
-DANDROID_PLATFORM=android-16
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=./build
-DCMAKE_BUILD_TYPE=Debug
-DANDROID_NDK=/Users/jinmingkai/Library/Android/sdk/ndk/21.3.6528147
-DCMAKE_CXX_FLAGS=
-DCMAKE_SYSTEM_NAME=Android
-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
-DCMAKE_SYSTEM_VERSION=16
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-DCMAKE_ANDROID_NDK=/Users/jinmingkai/Library/Android/sdk/ndk/21.3.6528147
-DCMAKE_TOOLCHAIN_FILE=/Users/jinmingkai/Library/Android/sdk/ndk/21.3.6528147/build/cmake/android.toolchain.cmake
-G Ninja
-DCMAKE_MAKE_PROGRAM=/Users/jinmingkai/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja \
命令的參考部落格1
參考部落格2
註釋:-H SetHomeDirectory 的意思,即sets the source directory for the project
-B 表示sets the binary directory 為 build 目錄(若目錄不存在,會自動建立)
-G 表示制定makefile生成工具
CMake_TOOLCHAINE_FILE 制定Android編譯鏈
編譯完後會在build資料夾生成build.ninja的檔案,執行ninja命令,編譯完就結束了。
其實ninja執行檔案需要加到系統環境中,ninja在/Users/jinmingkai/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja下
相關文章
- Windows平臺使用CMake+MinGW64編譯OpenCVWindows編譯OpenCV
- Android NDK開發掃盲及最新CMake的編譯使用Android編譯
- Windows下CMake編譯安裝OpenCVWindows編譯OpenCV
- windows下用命令使用cmakeWindows
- 編譯Android下可執行命令的FFmpeg編譯Android
- CentOS6.7下使用cmake編譯安裝MySQL5.5.32CentOS編譯MySql
- 用 NDK 編譯 ffmpeg 到 Android 平臺編譯Android
- 在命令列下使用vs的編譯器命令列編譯
- 跨平臺編譯編譯
- cmake編譯指定自己編譯的庫路徑編譯
- 如何用cmake編譯編譯
- CMake for Mac編譯工具Mac編譯
- Golang在各平臺下如何交叉編譯Golang編譯
- 在WSL下為OpenWRT交叉編譯出CMake編譯
- 編譯arm平臺的ethtool編譯
- cmake使用教程(九)-關於安卓的交叉編譯安卓編譯
- Mac平臺反編譯Unity編譯的安卓apkMac編譯Unity安卓APK
- 理解Android編譯命令Android編譯
- windows下基於cmake配置opencv並使用visual studio編譯WindowsOpenCV編譯
- 在AndroidStudio下使用cmake編譯出靜態連結庫的方法Android編譯
- protobuf cmake Visual Studio 編譯安裝 (全命令列)編譯命令列
- .NET 編譯器平臺:使用 Roslyn 體驗 MVVM編譯ROSMVVM
- Win10下Qt+OpenCV+Cmake編譯錯誤Win10QTOpenCV編譯
- Cocos2dx交叉編譯至android平臺編譯Android
- Android 原始碼中的編譯命令Android原始碼編譯
- Go跨平臺交叉編譯Go編譯
- CMake入門指南-編譯教程編譯
- cmake編譯問題解決編譯
- 從編譯連結到cmake編譯
- CMake編譯Qt工程時的問題編譯QT
- gRPC cmake Visual Studio編譯安裝 (全命令列)RPC編譯命令列
- Linux下使用make命令編譯c原始檔Linux編譯
- 如何用在命令列下使用VS編譯器命令列編譯
- cmake的使用(cmake不是內部或外部命令)
- win/mac下反編譯Android安裝包-APK檔案Mac編譯AndroidAPK
- 使用Mono將C#編譯執行至WebAssembly平臺MonoC#編譯Web
- .NET探索平臺條件編譯編譯
- cmake中新增 -g編譯選項編譯