Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏准备。
1.下载NDK,搭建NDK开发环境
下载地址
https://developer.android.com/ndk/downloads
下载过程中点击下面箭头的地方,点击鼠标右键,复制好下载链接地址,然后进入ubuntu中。
复制链接到ubuntu中使用wget命令下载
使用unzip命令解压
写段c语言的简单代码
编译一下
然后执行一下
执行成功输出我们的打印test,但是此时如果把这个可执行文件push到Android设备中是没法运行的,因为Android底层虽然也是Linux系统,但是是一个阉割版的,所以必须要通过NDK交叉编译,才能使得程序能够在Android设备中运行起来。
2.NDK链接Android设备执行C/C++代码
首先要安装cmake工具
搞一个文本文件,主要是用于使用NDK环境里面的工具链,这样编译的程序能在Android设备运行。
这里面写好脚本,注意project的名字要跟你自己的对应起来,前面我们用的main.c所以这里就是它
搞一个脚本文件,箭头处要放自己的NDK路径
执行
chmod +x build.sh 是一个命令行指令,用于给文件 build.sh 添加可执行权限。chmod 是一个用于修改文件权限的命令,+x 表示添加可执行权限,build.sh 是要修改权限的文件名。执行这个命令后,你就可以通过 ./build.sh 来执行 build.sh 文件了。
chmod +x build.sh
./build.sh
输出这个就是成功了
启动我们的模拟器把编译好的程序adb push到Android设备中 看看能不能正常运行。
pushNDK的工具库
adb push /home/android/ndk/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/libc++_shared.so /data/local/tmp
进入shell环境执行程序
输出打印,,正确