網路城邦
上一篇 回創作列表 下一篇   字體:
將linux的執行檔拿到android執行
2021/09/07 16:04:25瀏覽58|回應0|推薦0
TI am5749 IDK,有2包BSP

Linux:
ti-processor-sdk-linux-am57xx-evm-06.03.00.106

Android:
ti-processor-sdk-android-am57xx-evm-06.03.00.106

兩者的linux版本,都是4.19.98

可以將linux的執行檔拿到android執行嗎?

========== ========== ========== ==========

一般Linux Makefile, 預設做出來的執行檔,是要連結作業系統的.so函式庫,
使用指令
file
可以查得執行時,要去哪抓linker,再去抓.so

==========

例如
aaa.out是linux Makefile做出來的
file aaa.out

ELF executable, 32-bit LSB arm, dynamic (/lib/ld-linux-armhf.so.3), stripped

==========

bbb.out是Android Android.mk/Android.bp做出來的
file bbb.out
ELF shared object, 32-bit LSB arm, dynamic (/system/bin/linker), stripped

==========

所以,在Linux Makefile, 若是為預設的動態編譯
會出現如下錯誤
/system/bin/sh: ./aaa.out: No such file or directory


若設成靜態編譯, 執行檔是可以拿到android上去執行的,但是程式碼會是很大一包.
( 不分類不分類 )
回應 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=greatcat&aid=167455216