看板 LinuxDev 關於我們 聯絡資訊
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
cam11505:http://0rz.tw/VFiYI卻只可以執行ls 等之類的 03/14 03:41