Posts tagged: Android

Google 的小禮物

By cwhuang, 2010 年 03 月 03 日

一個多月前收到關於 Google Android Developer Lab 的消息。那時幾乎已經是報名的最後一天,趕緊上網填了資料寄出。過年前就收到通知,我得到參加的資格。也沒多想,直接記在行事曆當中。

今天就是這個 Developer Lab 在台北舉辦的日子。不過事情很多,加上這個會議從中午 12 點半就開始,連午飯都來不及吃。其實一開始有點不太想去。但為了有機會和 Android 開發者近距離接觸,還是決定參加。還好去了,否則可就後悔莫及。

報到時,領到一張綠色貼紙,被要求貼在胸前。我不是很喜歡在身上亂貼東西,不過還是照辦了。遇到在台北 Google 工作的朋友,他告訴我,等會將發小禮物。我問每個人都有嗎? 要是用抽獎的,我一定抽不到啦。他說是的,每個人都有。我心想 Google 給的禮物應該不會太差吧? 但了不起就是 T-恤之類的紀念品吧?

想不到,Google 的這個禮物還真不小哩! 接近中場休息時, Read more »

將 native libraries 加入 AOSP 的編譯

By cwhuang, 2010 年 02 月 15 日

上篇介紹用 Android SDK 和 NDK 來編譯含 JNI 的 Android 應用程式。但若是已有 Android (或 Android-x86)的 source tree,可能就不會再想安裝 SDK 和 NDK。因為 AOSP tree 本身就包含完整的 SDK 和 NDK。那麼是不是可以將含有 native libraries 的應用程式,加入到 AOSP 的 build system 中編譯? 這麼做還有一個更重要的理由,就是把你的應用程式和 AOSP 的源碼結合在一起,用單一步驟就可以完成所有的編譯。這樣有助於維護單一而自我包含(self-contained)的源碼。

答案當然是肯定的。經過一番嘗試後,發現只要稍微修改一下應用程式的 Android.mk 就行。具體的做法如下:

首先,將應用程式的目錄搬到 AOSP tree 的 packages/apps/ 目錄下。例如 packages/apps/hello。

再來,建立 packages/apps/hello/Android.mk,內容如下: Read more »

建立使用 JNI 的 Android 應用程式

By cwhuang, 2010 年 02 月 14 日

一般要建立 Android 的應用程式使用 Eclipse + ADT 最為方便。不過若是像我一樣慣用 command line 的人,可能會希望直接用指令完成。這可利用 Android SDKNDK 辦到。

首先,用 SDK 的 android 指令建立一個 project:

$ android create project -t android-4 -k app.hello -a HelloActivity -p apps/hello/project

其中的參數:

  • -t 指定 Android API level,android-4 代表 Android 1.6 版。
  • -k 代表 package namespace。
  • -a 代表 Activity 的名稱。
  • -p 代表 project 的放置路徑。

Read more »

Android 還是開放源碼計劃嗎?

By cwhuang, 2010 年 01 月 10 日

關注 Android 開放源碼計劃(AOSP)的朋友應該會注意到,在 Google 的嚴密掌控下,Android 已經離開放源碼社群愈來愈遠。雖然形式上 Android 的確符合開放源碼的定義。但本質上,它是不折不扣的 Google 計劃,而非一個社群的計劃。從幾件事情上可以看出這樣的傾向:

  • Android 2.0 完全沒有發展歷程(git log / history)。
  • 其實根本沒有 Android 2.0 的源碼。目前 AOSP 上的版本是介於 2.0 到 2.0.1 之間的一個 “snapshot”。更遑論即將上市的所謂 2.1 版了。
  • 絕大部分社群送上去的 patches 都被忽略。從 eclair 之後似乎僅有五個 patches 被接受而已。
  • Project roles 頁面被修改,移掉大部分讓社群參與的字眼 (剛好被人抓包,把舊的頁面 diff 呈現在此)。
  • Google 的工程師不在 android.git.kernel.org 上工作。
  • 愈來愈多衍生的開放源碼計劃(android-x86, embinux, 0xdroid, rowboat, odroid, …),代表許多社群開發者已受不了 Google 的態度。

誠心的建議,Google 應該捫心自問,當初決定開放源碼的初衷是什麼? 到底要走向開放的市集模式,擁抱社群,還是走回更封閉的教堂模式,關起門來自己搞?

如果決定擁抱社群,便應該回歸開放源碼開發模式的基本精神,「儘早釋出、儘快釋出」,讓更多人有機會檢視 Android 的最新源碼,因為「在眾人面前,所有的錯誤都是淺顯的」(Linus 定律)。同時更應重視社群的力量,儘快的 review 社群所提出的修改建議,絕不可放著幾個月都不理。這樣有心貢獻的人心早涼了! 唯有在對的方向做對的事情,才能讓開放源碼的輪子順利轉動,帶起 Android 開放社群的蓬勃進步。

明天下午有機會應邀到台灣 Google 演講,正好把這些觀點與 Google 的工程師討論討論。投影片已公開在 Google docs 上:

參考:

澄清:Androidx86 與 Android-x86.org 無關

By cwhuang, 2009 年 12 月 17 日

說實話,這個站出現得比我們的 Android-x86 計劃還早,而且先前有很長一段時間沒有更新了。不過,最近這個站又做了大幅度的改版,並加上很多取自本計劃的資料,甚至在下載區還放了我們的 iso 檔(雖然註明了出處)。這是沒關係,但他們還放了一個 Donate 的圖示,但點下去的連結,並非連到本計劃的捐款網頁。這不禁讓人懷疑,這個站的動機不單純!

在此特別澄清,這個網站 androidx86.org (以及 androidx86.com) 與 Android-x86 開放源碼計劃(Android-x86.org)沒有任何關連。

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 上去了。

OfficeFolders theme by Themocracy