使用AndroidStudio编译c/c++代码时需要新建工程,配置build.gradle,这部分网上教程有很多,不再赘述
Cmake使用
关于Cmake的使用可参考CMake 入门实战
** 基本使用步骤如下:**
- 新建工程目录 workdir
- 新建源码文件 workdir/test.cpp
- 新建CMakelList文件 workdir/CMakeList.txt
- 新建构建目录 workdir/build(因为构建过程会产生很多临时文件,建议在build文件中构建)
- cd到workdir/build 目录,运行命令 "cmake .." ,这一过程有错误大部分是CMakeList配置问题
- 在workdir/build 目录,运行命令 “make"
Android Cmake
Android Cmake 使用是需要配置一系列的参数,写成脚本方便编译:build.sh
#!/bin/bash
rm -rf CMakeCache.txt
rm -rf CMakeFiles
rm -rf cmake_install.cmake
rm -rf Makefile
rm -rf CTestTestfile.cmake
ANDROID_NDK_HOME="/home/fengshuo/android-ndk-r16b" # 配置自己NDK的路径
if [[ "$@" =~ "-d" ]];then
echo "----------------------------cmake debug----------------------------"
cmake -DDEBUG=ON -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
-DANDROID_NDK=$ANDROID_NDK_HOME \
-DANDROID_ABI=arm64-v8a \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_PLATFORM=android-26 \
-DANDROID_STL=c++_static \
..
else
echo "----------------------------cmake release----------------------------"
cmake -DDEBUG=NO -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \
-DANDROID_NDK=${ANDROID_NDK_HOME} \
-DANDROID_ABI=arm64-v8a \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_PLATFORM=android-26 \
-DANDROID_STL=c++_static \
..
fi
make
rm -rf CMakeCache.txt
rm -rf CMakeFiles
rm -rf cmake_install.cmake
rm -rf Makefile
rm -rf CTestTestfile.cmake
** 基本使用步骤:**
- 新建工程目录 workdir
- 新建源码文件 workdir/test.cpp
- 新建CMakelList文件 workdir/CMakeList.txt
- 新建构建目录 workdir/build(因为构建过程会产生很多临时文件,建议在build文件中构建)
- 将build.sh脚本放在workdir/build目录下
- cd到workdir/build 目录,运行命令 "bash build.sh"
这样就可以不用配置build.gradle或者不用AndroidStudio,直接编译c/c++库了