作者heoris (heoris)
看板LinuxDev
標題Re: [問題] 在android system的command line執行he …
時間Fri Feb 18 00:57:42 2011
Android 的standard C library 不使用 GNU C Library
而使用的是 Bionic C library 在android source code中的bionic資料夾有
完整的程式碼
不使用gnu的原因一方面除了license issue問題以外 還有為了mobile device
hardware constraint考量 因此重寫了C library 讓android 在執行native code時
更有效率
如果你想要在Android shell環境底下執行native code時有兩個方法
1. 使用Android build system 來完成
在原始碼資料夾內新增自己的C程式碼以及Android.mk
利用android build system 直接編譯native C code
編譯出來的執行擋會在/out/target/XXX/....底下
此執行擋link的函式庫就是android 上的bionic C
所以直接adb push 上去後即可執行
2.最快最投機的方法
寫好你的hello.c
直接用你現有的toolchain 進行static link
ex: arm-linux-gcc hello.c --static
編譯出來的執行檔因為是靜態連結 直接丟到板子上就可以跑了
===========================
總結: 你如果只是要練習測試 不考慮效能和size問題的話 最快的方法就用2吧
試試看吧 有問題歡迎提出討論 Thanks
Source From:
http://www.cdpda.org.tw
Blog:
http://www.cdpda.org.tw/blog
※ 引述《JUSTLOVEAYU (海費爾)》之銘言:
: 最近把android system porting到PXA 270板子上
: 我是根據http://www.mask.org.tw/demo.htm這個網站去做
: 現在我想寫一個簡單的hello word程式能在command line顯示
: 如圖:http://ppt.cc/bvku,就是在#字號後面顯示出hello word
: 我原本想說編譯一個java的hello word然後放到板子上執行就ok了
: 但似乎沒那麼簡單,我有上網查了一下,也有去書局看書
: 不過大多都是IDE加模擬器的教學
: 我想問的是,有沒有簡單的方式,讓我的hello word可以在android system上執行
: 例如:一個文字編緝器加一個編譯器就能完成我要的東西
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.113.190
推 cam11505:抱歉我想順便請問用第二點編譯出來的native code 如何在 03/14 03:35
→ cam11505:android app上面執行呢?我嘗試加入一些套件再版子上 03/14 03:36
→ cam11505:在console端上都可以執行 但在android app上參考這個網站 03/14 03:38