精華區beta AndroidDev 關於我們 聯絡資訊
請教各位前輩, 小弟在 linux 下寫好了一隻 console 程式, 連結使用的程式庫為 glib、zlib、sdl 等, 並搭配核心 framebuffer 圖像支援。 我的程式有可能移植到 android 上安裝、運作嗎? 如可以進行,所需的流程又有些必要的工作? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 183.4.116.230
priv:可以參考一下網路上在 android 下使用 sdl 的說明 09/03 13:04
minstrelsy:有可能 但如果不是對linux與android都夠熟 建議或許重 09/04 00:04
minstrelsy:寫比較快 09/04 00:04
不好意思,可能我沒有說明得很清楚,我的程式皆使用 C/C++ 混合寫成, 因故希望能將程式放在一般 android 系統平台的的平板、手機上跑。 由於我本身不懂 Java (聽說 android 應用程式皆為 Java), 且也完全不熟悉 android 程式開發環境,所以,可能不是很適合重寫... 後來我發現有款叫做 Terminal IDE+ 的 app,從 google play 下載來玩, 內含有 gcc、vim 等可用,只是編譯出來的程式不知道能不能執行, 也不知道我的程式到時候是否支援一般使用者的慣用點擊執行 (這是最希望的目標), 目前僅嘗試安裝 sdl 到該環境中,不過結果不是很順利就是了... 在此再次感謝大大們的協助與解疑,目前看來,不知道我的方向是否正確, 我猜,大概得先找找所需程式庫 for android 的版本對吧... ※ 編輯: SeamusBerloz 來自: 183.4.116.230 (09/04 01:44)
priv:在手機上 compile 其實很難。正常的作法是要靠 bs 09/04 09:56
priv:p / ndk 做 cross compile 09/04 09:56
priv:若完全不想學 java 其實是有機會用 adb shell 直接 09/04 09:58
priv:執行,只是畢竟系統不一樣,中間的差異之後你還是 09/04 09:58
priv:得學習 09/04 09:58
priv:基本上你要上架最後還是得學會基本的 java 09/04 10:00
Deltaguita:你直接在手機上執行Linux的指令 (透過adb shell 或是 09/04 10:57
Deltaguita:如你說的終端模擬器 但是很難讓你的程式在android上 09/04 10:57
看來的確,且根據各位熱心解答的方向,我找到了以下網頁: http://www.mosaicit.de/en/android-sdl-c-build-system-compiling 努力研究中... ※ 編輯: SeamusBerloz 來自: 183.4.123.29 (09/04 11:20)
normanshi:聽你的意思應該是想把自己的console跟常用的lib移到手機 09/04 14:25
normanshi:上,但是除非你有這隻手機的編譯環境(code, toolchain) 09/04 14:26
normanshi:也就是priv說的bsp那包東西... 不然應該是沒辦法 09/04 14:26
normanshi:雖然我沒有試過只找同樣版本的compiler在自己的linux上 09/04 14:27
normanshi:直接編然後adb推進去,不過如果編譯時要link一些東西 09/04 14:27
normanshi:跟手機上的版本不同的話 我想應該是沒辦法跑@@ 09/04 14:28
priv:有原本的 bsp 當然最好,但其實 ndk 就是一個 gen 09/04 14:42
priv:eric 的 arm toolchain 09/04 14:42
priv:不過一般是拿來編 jni 要用到的 so,我倒是沒試過 09/04 14:43
priv:編 stand alone binary 09/04 14:43
priv:另外就算沒有原廠 BSP,其實也可以利用 AOSP 09/04 14:45
openeyes222:我比較想知道,console如何結合android的framebuffer 09/04 17:31
openeyes222:。 09/04 17:31
normanshi:關於toolchain有點好奇請教一下 理論上版本不同或是link 09/04 20:58
normanshi:的library萬一不一樣 應該會跑不動吧? 我的瞭解正確嗎? 09/04 20:59
AirGin:可以把c code用ndk弄成so,然後java直接呼叫native func 09/06 00:24