簡體   English   中英

Hello World Android程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM