CMake的
在這個頁面
使用過Android Studio 2.2及更高版本,可以使用NDK和CMake的 編譯C和C ++代碼到本機庫。Android Studio中,然后構建系統使用Gradle把library打包到APK中
如果您是初次使用CMake的與Android Studio ,去C和C ++代碼添加到您的項目學習添加原生資源到項目的基礎,創造了CMake的構建腳本,並添加您的CMake項目作為一個gradle依賴。此頁面為您提供可以使用自定義您的CMake構建一些額外的信息。
了解CMake的生成命令
當調試CMake的構建問題,它有助於知道對於Android Studio使用特定生成的參數當用交叉編譯。
Android Studio中保存它使用用於執行CMake的構建,構建參數在cmake_build_command.txt
文件。對於每一個應用程序二進制接口(ABI)您的應用程序的目標,每個構建類型為那些ABI的(即,釋放或調試),Android Studio中生成的副本cmake_build_command.txt
用於特定的配置文件。Android Studio中,然后將其生成在以下目錄中的文件:
<project-root>/<module-root>/.externalNativeBuild/cmake/<build-type>/<ABI>/
提示:在Android Studio中,您可以快速通過使用搜索快捷鍵(查看這些文件shift+shift
),並進入 cmake_build_command.txt在輸入字段。
下面的代碼段示出的參數的CMake一個例子來構建的可調試釋放hello-jni
樣品靶向armeabi-v7a
架構。
Executable : /usr/local/google/home/{$USER}/Android/Sdk/cmake/3.6.3155560/bin/cmake arguments : -H/usr/local/google/home/{$USER}/Dev/github-projects/googlesamples/android-ndk/hello-jni/app/src/main/cpp -B/usr/local/google/home/{$USER}/Dev/github-projects/googlesamples/android-ndk/hello-jni/app/.externalNativeBuild/cmake/arm7Debug/armeabi-v7a -GAndroid Gradle - Ninja -DANDROID_ABI=armeabi-v7a -DANDROID_NDK=/usr/local/google/home/{$USER}/Android/Sdk/ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/usr/local/google/home/{$USER}/Dev/github-projects/googlesamples/android-ndk/hello-jni/app/build/intermediates/cmake/arm7/debug/obj/armeabi-v7a -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/usr/local/google/home/{$USER}/Android/Sdk/cmake/3.6.3155560/bin/ninja -DCMAKE_TOOLCHAIN_FILE=/usr/local/google/home/{$USER}/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=23 -DANDROID_TOOLCHAIN=clang jvmArgs : Build arg