Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏准备。

1.下载NDK,搭建NDK开发环境

下载地址

https://developer.android.com/ndk/downloads

下载过程中点击下面箭头的地方,点击鼠标右键,复制好下载链接地址,然后进入ubuntu中。

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第1张图片

复制链接到ubuntu中使用wget命令下载

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第2张图片

使用unzip命令解压

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第3张图片

写段c语言的简单代码

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第4张图片

编译一下

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第5张图片

然后执行一下

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第6张图片

执行成功输出我们的打印test,但是此时如果把这个可执行文件push到Android设备中是没法运行的,因为Android底层虽然也是Linux系统,但是是一个阉割版的,所以必须要通过NDK交叉编译,才能使得程序能够在Android设备中运行起来。

2.NDK链接Android设备执行C/C++代码

首先要安装cmake工具

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第7张图片

搞一个文本文件,主要是用于使用NDK环境里面的工具链,这样编译的程序能在Android设备运行。

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第8张图片

这里面写好脚本,注意project的名字要跟你自己的对应起来,前面我们用的main.c所以这里就是它

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第9张图片

搞一个脚本文件,箭头处要放自己的NDK路径

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第10张图片

执行

chmod +x build.sh 是一个命令行指令,用于给文件 build.sh 添加可执行权限。chmod 是一个用于修改文件权限的命令,+x 表示添加可执行权限,build.sh 是要修改权限的文件名。执行这个命令后,你就可以通过 ./build.sh 来执行 build.sh 文件了。

chmod +x build.sh
./build.sh

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第11张图片

输出这个就是成功了

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第12张图片

启动我们的模拟器把编译好的程序adb push到Android设备中 看看能不能正常运行。

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第13张图片

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

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第14张图片

进入shell环境执行程序

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。_第15张图片

输出打印,,正确

你可能感兴趣的:(Android进阶训练营,android,c语言,c++)