![](/img/trans.png)
[英]IllegalStateException in android hello world program
[英]Hello World Android Program
我刚刚构建了我的goldfish android内核。 我编写了一个hello world程序,并使用arm-linux-gnueabi-gcc进行了编译。 我使用adb push将可执行文件放入仿真内核的/ data / local中。 我能够使用adb shell SSH进入仿真内核。 当我进入/ data / local并进入目录时,我可以看到使用adb push放置的a.out。 当我执行#。/ a.out时,出现错误./a.out:找不到。
有人可以帮我这个忙吗?
我想这是一个缺少的图书馆问题。 我之前遇到过此问题,修复方法如下:
root@evab:~# ./a.out
-sh: ./a.out: not found
root@evab:~# ls /lib /root
/lib:
libc.so.6
/root:
a.out
root@evab:~#
然后检查应用程序需要哪个共享库:
leo@leo-VirtualBox:/opt/nfs/root$ arm-linux-readelf a.out -a |grep lib
[Requesting program interpreter: /lib/ld-linux.so.3]
0x00000001 (NEEDED) Shared library: [libc.so.6]
... ...
通过输出,我们可以确认缺少ld-linux.so.3
,因此将ld-linux.so.3
复制到目标文件系统/ lib目录:
root@evab:~# ./a.out
test
root@evab:~# ls /lib /root
/lib:
ld-linux.so.3 libc.so.6
/root:
a.out
root@evab:~#
我在编译工作期间添加了-static选项。 arm-linux-gnueabi-gcc -static
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.