利用ubuntu将.cpp生成二进制的可执行文件,然后利用.bat(脚本)编写命令,将可执行文件在android机上运行

前端之家收集整理的这篇文章主要介绍了利用ubuntu将.cpp生成二进制的可执行文件,然后利用.bat(脚本)编写命令,将可执行文件在android机上运行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

首先ubuntu上有混合编译器

脚本make.sh,其内容如下:(myvir是我的虚拟机的名字)

/home/myvir/my_ndk_toolchain/bin/arm-linux-androideabi-g++ \

-g -o test test.cpp \

-I /home/myvir/my_ndk_toolchain/include/c++/4.9/arm-linux-androidideabi/armv7-a \

-I ./include \

libopencv_calib3d.a libopencv_features2d.a \

-std=c++11 -g -marm -fPIC -mfpu=neon -mfloat-abi=hard -march=armv7-a \

-llog -Wl,--no-warn-mismatch


如果对应的android版本是5.1以上,在Ubuntu上会报错,错误为:

error:only position independent executables <PIE> are supported

解决方法:-fPIC后面加上 -pie -fPIE;

make.sh和test.cpp写好之后,两者在TEST文件下。在命令窗口写命令进入Test文件,然后输入./make.sh命令,就会生成一个二进制的可执行文件,将该文件从ubuntu上拷贝到电脑上(我放在了桌面上test的文件里,其路径为:c:/Users/Administrator/Desktop/test/test)。

将可执行文件在Android上运行,可在电脑上写个脚本,新建一个TEST.txt,对其重命名将其改为TEST.bat,在该文件输入:

adb shell mkdir /data/data/test (这是在android上./data/data上创建了一个test文件夹)

adb shellc:/Users/Administrator/Desktop/test/test /data/data/test (这是将桌面上的test二进制可执行文件拷贝到android的 ./data/data/test文件下)

adb shell chmod 777 ./data/data/test/test (这是对test改权限)

adb shell ./data/data/test/test (运行android上的test可执行文件)

adb shell rm -r ./data/data/test (这是删除包含test可执行文件的test文件夹)

pause

start

上面是test.bat的全部内容。弄好以后,双击test.bat执行里面的全部内容了。简单方便

原文链接:/ubuntu/352431.html

猜你在找的Ubuntu相关文章