把编译好的HelloWorld程序使用 adb push 上传的一个Android系统中。这里测试时使用的是一个Android虚拟机,其中虚拟了一个 256M的sdcard。这里把程序先上传到sdcard有一个好处是基本不会失败。
上传程序后当然可以尝试着在Android Shell 中运行编译好的程序。
1) 使用 adb shell, 进入Android 的命令行。
2) cd /mnt/sdcard 进入HelloWorld的存储位置。
3) ./HelloWorld 执行程序,
但如果尝试在sdcard 中运行程序多半会遇到一个Permision Denied一个错误。
我们可以简单尝试使用 chmod 777 HelloWorld来修复它,但再次运行程序时多半还会失败。
网上找了找原因,给出的解释是Android不能修改 sdcard下 程序的权限,最简单的老老实实把它复制到Android系统下的某个文件夹下吧。
4) cp /mnt/sdcard/HelloWorld /data/ 复制文件到Android的data目录下
5) chmod 777 HelloWorld 修改权限
6) ls -l 当然可以在查询一下,但也不是必须的。
7) ./HelloWorld 运行程序
这时基本已经可以了。
如果交叉编译出来的程序不正确在这里是没法运行的,出现 error: magic 7F45 基本上就是交叉编译出的问题了。
————————————————
版权声明:本文为****博主「zy__」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/wangzhiyu1980/article/details/16972937