Posts tagged: Android

Android 同好聚會

By cwhuang, 2009 年 12 月 16 日

今天晚上有個 Android 的同好聚會,是由台灣 Android 中文資源站主辦,地點在台北市松江路某咖啡店裡。我將會參加,並分享 Android-x86 1.6 的開發成果。現場還會準備幾台 Eee PC 還有觸控功能的 Eee Top,讓你實際體驗 Android 在 x86 平台的魅力。如果你準備了 250MB 以上的隨身碟,我還可以幫你裝上 Android-x86 live USB 版本,讓你帶回家玩。歡迎各位 Android 同好指教。(不過如果你還沒報名,可就來不及啦…)

Android 影片轉檔

By cwhuang, 2009 年 10 月 07 日

Android-x86 20090916 測試版中已加入 Android 的內建影片播放程式。不過內建的程式,僅能播放 .3gp 或 .mp4 的檔案。這邊介紹一下怎麼利用 ffmpeg 把影片檔轉成 Android 可播放的 .mp4 格式。

基本的轉換指令是:

$ ffmpeg -i input.avi -vcodec libx264 -s 1024x600 output.mp4

其中 -i 後面接的是要轉換的影片檔,最後 output.mp4 就是轉換後的檔案。而 -s 則是轉換出來的尺寸大小。要在小筆電上正常的播放,最好將影片大小設成跟小筆電的解析度相同,如此播放的效果才會好。否則影片會被縮放,而產生奇怪的三角形效應。

利用 adb 將轉換好的檔案放到 Android-x86 系統,或者利用最新的自動掛載功能,直接將影片檔放進隨身碟,再插入 Android-x86 系統就可播放。

若要轉換 DVD 檔案,可先用 vobcopy 來抓出 vob 檔: Read more »

Android Eee PC 計劃

By cwhuang, 2009 年 06 月 06 日

其實做 Android 的 x86 平台移植的人不少。最近在 Gerrit Code Review 上便看到不少修補,例如:

試著跟這位 Chia-I Wu 連絡,原來他就是 0xlab 的 olv。他告訴我他也有一個 Android Eee PC 的計劃,放在 Gitorious

他直接修改了 manifest.xml,將針對 x86 修改過的 projects 指向 Gitorious 上,其餘未改過的仍指向原 Android 的 repositories。如此直接 repo sync 就能夠得到可編譯的 tree,而不用再 patch 來 patch 去,簡單多了。這個做法很有趣,值得參考。

Android 的 Eee Top 觸控螢幕支援

By cwhuang, 2009 年 05 月 28 日

這幾天在 Eee Top 上測試了 Android。雖然可以跑,可惜的是,觸控螢幕無法使用。讓我頗為失望。當然 Android 本來就支援觸控螢幕,要讓 Eee Top 的觸控螢幕可以動,應該不會太困難。因此做了一些研究…

結果發覺,kernel 已經能正確抓到 Eee Top 的觸控螢幕,而且 Android 也可以辨識出來。問題在 driver 產生的 events 和 Android 預期的似乎不大一樣,因此這些 events 都被忽略了。參考了 Xorg Touchscreen Driver 的程式碼之後,對 Android frameworks/base 的 KeyInputQueue.java 做了些修改,就能讓 Eee Top 的觸控螢幕正確運作了。

反正 Google 也不會收,這個 patch 就懶得送給他們了。還是放在這兒

有 Eee Top 的朋友不妨試試,還滿好用的。

改善 Android 的鍵盤瀏覽功能

By cwhuang, 2009 年 05 月 27 日

在 Android Eee PC 上的瀏覽器是相當的不好用。一是不能用鍵盤的上下頁捲動,也沒有前一頁下一頁的快捷鍵。二是滑鼠的滾輪也無法使用。只能用上下左右鍵慢慢的按,真是非常痛苦。

因此對鍵盤功能做了一些 hacking。結果已上傳到 Gerrit Code Review

不過,Google 似乎對 Android 的 x86 平台興趣缺缺。不管是我或其他人送上去的 patches,一概理都不理,連 review 一下也不肯。真是令人生氣! 如果這個情況不改變,我也不會再送 patch 上去了。

給 Android 用的 Eee PC Ethernet 驅動程式

By cwhuang, 2009 年 05 月 10 日

上文提到目前 Android 仍採用 kernel 2.6.27。在 Eee PC 上頭除了前面講的 frame buffer 問題之外,另一個麻煩就是 ethernet 的 driver。較早期的 Eee PC 採用的是 atl2 driver,而後來的機種大多採用 atl1e driver。前者直到 2.6.28 才進入 mainline kernel,後者雖然在 2.6.27 已經出現,但在 Android 上的版本卻有個大 bug,一載入就會發生 kernel exception。不論使用 built-in 或是編成 module 都一樣。

為此,參考了 kernel 2.6.29 的這兩個驅動程式,將它 back-port 到 2.6.27 來:

這兩個 patches 也都送到 Android 的 Gerrit Code ReviewRead more »

以 Eee PC 原生解析度跑 Android

By cwhuang, 2009 年 05 月 08 日

Android 是以 frame buffer 做為繪圖的輸出裝置。而在 Eee PC 這種採用 Intel i915/i945 內建繪圖晶片的機器來說,可用的 frame buffer driver 有兩個。一是有加速功能的 intelfb,另一個利用標準 VBE 無加速功能的 vesafb。然而不論用哪一種,都無法達到 Eee PC 原生解析度(九吋以上機種 1024×600,七吋機種 800×480)的顯示效果。這是因為這兩種解析度並非 VBE 的標準。因此在 Eee PC 上跑 Android 通常只能以 800×600 或 640×480 的解析度來執行。

我先前協助在弄 Eee PC 的軟體時,也遇到這個問題。當時我們的解決辦法,是用 GRUB2 加上 i915resolution patch。其原理是在 GRUB2 載入 kernel 前先修改 VESA BIOS 的設定。如此就可以讓 frame buffer 跑到 Eee PC 的原生解析度。

這兩天試用這個方法來啟動 Android,看看是否能達到支援 Eee PC 原生解析度的目的。不料結果雖然可以進入 Android,但畫面卻不大對勁 Read more »

Android 的 x86 patches

By cwhuang, 2009 年 04 月 28 日

要編譯給 x86 平台如 Eee PC 使用的 Android 版本並不容易。因為目前的 Android source 在 x86 上是 broken 的,也就是無法通過編譯。有許多小地方需要修修補補才行。

所幸,現在有個叫 patch-hosting-for-android-x86-support 的計劃,專門收集 Android 在 x86 平台上的 patches,並且提供詳細的說明,指導如何修改和編譯。

在試用上面的方法後,提出一些建議給該計劃主持人 Yi Sun (beyounn) 。經過一些溝通後,Yi 也邀請我加入該計劃。先做了一個小小的貢獻,修正一個 qemu 編譯上的小問題。

在 Fedora Eclipse 安裝 ADT

By cwhuang, 2009 年 04 月 21 日

今天嘗試在 Fedora 的 Eclipse 3.4 上安裝 Android 的開發工具(ADT)。網路上已有不少資料,例如官方網站的文章:

http://developer.android.com/guide/developing/tools/adt.html

也有中文的:

http://code.google.com/p/androidbmi/wiki/InstallAndroid

不過,實際做下來,大概都會發生問題,告訴你缺這個缺那個。 Read more »

在 Fedora 上編譯 Android

By cwhuang, 2009 年 04 月 15 日

近來最紅的想必是 google 的 Android 作業系統了。而且已有人將它 port 到 Eee PC 上頭。為了工作需求,不能免俗的要來試它一試。

主要參考 Android open source project 上的文章。不過,上面使用的編譯參考平台是 Ubuntu,並非我慣用的 Fedora。經過一番嘗試之後,終於成功的在 Fedora 上編譯出來。特別記錄下來,給有興趣的人參考。

下列的 Fedora 套件必須先安裝好(用 yum install 來安裝就好):
Read more »

OfficeFolders theme by Themocracy