cmake 生成Android makefile
windows 下环境变量
NDK = E:\softstore\ndk\android-ndk-r16b
NDK_CROSS = E:\softstore\ndk\android-ndk-r16b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin
Path=%PATH%;%NDK %;%NDK_CROSS %
示例代码
int fibo(int x)
{
if(x==1 || x==2) return 1;
return fibo(x-1)+fibo(x-2);
}
int main()
{
int r = fibo(10);
printf("fibo(10)\n",r);
return 0;
}
CMakeLists.txt
#!
set(CMAKE_SYSTEM_NAME Android)
set(CMAKE_SYSTEM_VERSION 21) # API level
set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
set(CMAKE_ANDROID_NDK E:/softstore/ndk/android-ndk-r16b)
set(CMAKE_ANDROID_STL_TYPE gnustl_static)
project(fibo)
cmake_minimum_required(VERSION 3.11)
AUX_SOURCE_DIRECTORY(. SRCS)
add_executable( fibo ${SRCS})
cmake 支持下面的CPU:
- arm64-v8a
- armeabi-v7a
- armeabi-v6
- armeabi
- mips
- mips64
- x86
- x86_64
cmake -G “Unix Makefiles” ..
make
这样就不依赖 android studio ,只安装NDK 就能开发本地的 程序了
这个过程中没有遇到什么坑,就过了。:)
在Android手机开发者模式,adb push 上去后,不能chmod 提权,看来只能用开发板(有root权限)开发了。:)