用NDK很久了,玩一玩交叉编译,其实使用ndk-build
和Android.mk
,Application.mk
文件也可以做这件事,但是因为NDK自带了toolchain的脚本,配置很方便,简单的编译可以依赖cmd了。
真机总是没有权限,adb push
不上去,只能玩虚拟机了。
问题有点多,一个简单的info程序,有几个卡点。
直接
adb push
的话,可能会报read-only
的error,可以adb remount
一下push上去之后,默认权限中是没有x的,
chmod
一下PIE错误如下
之前的编译命令为1
i686-linux-android-gcc main.cc -o mac_x86
根据提示改为1
i686-linux-android-gcc main.cc -fPIC -pie -o mac_x86
可以正常执行了,如下。
注:adb pull
可以取回android上的文件