2013年1月27日 星期日

小筆電安裝Android x86 教學

Android x86這個計畫項目是將 Google Android 作業系統移植至 x86 平台的開放源碼計劃,計畫的主持人黃志偉(Chih-Wei Huang)可以說是另一個台灣之光。

x86版本的Android特別適合用在x86小筆電與平板電腦等。本計劃自 2009 年六月開始,已進行將近三年的時間。採用 Apache License 2.0 授權。Android 4.0 (ICS)是第一個同時適用平板與手機的Android開放平台,特別是為平板所打造的Holographic UI,為許多x86平板與小筆電帶來新的生命。(節錄自 http://android-day.com/presentation/android-x86-4-0-porting)


 自從2011年底開始,Android x86 項目開始有了突飛猛進的進展,主要的原因是:

  • 原先態度冷淡的CPU大廠們,感覺到了Android平台的魅力以及ARM架構處理器所帶來的威脅,所以紛紛表態支持Android開源項目,實際上,就是希望x86平台可以更Smooth的執行利用Android原始碼重新編譯過的x86項目。
  • Android的系統,本身有了重大的進步,平板與手機可以共用同一版本的系統,這意味著移植到各方面較接近平板電腦的小筆電,能夠更順利。
  • Android-x86計畫參與者的努力不懈。


我們可以由以下兩篇報導,了解到現今CPU大廠對於Android平台的態度。

總之,現在安裝Android在Notebook/Netbook上,只要主要的硬體設備能夠驅動,絕對會有令人驚喜的感覺。一直以來對家人淘汰掉的Msi U100小筆電無論跑Windows系列、Mac OSX、或是Ubuntu,都感到系統運作的很吃力的我來說,成功的把U100 裝上Android系統,的確讓人有耳目一新的感覺。


安裝的過程其實不難,就是手續比較多一點點。

實際安裝前我們要先準備幾樣東西:
  1. 1G或2G隨身碟一隻,太大的空間其實用不到。
  2. UNetbootin,功能是要把下載來的ISO轉為可開機的隨身碟。
  3. Android-x86-4.0-RC2 ISO
  4. 小筆電一台
下載ISO檔案時要注意,目前只要依照型號下載RC2這個版本就好,雖然目前所支援的特定型號不多,如果沒有合適的,可以試試看 eeepc、thinkpad、或是ASUS Laptops這幾個版本。

例如:我的Msi U100逐一測試到RC2 的thinkpad 能夠完美的驅動幾乎所有的硬體(除了有線網路),我就選擇了這個版本。安裝前的測試方式,在後面會說明。

安裝步驟如下:
  1. 插上隨身碟,格式化成FAT32
  2. 執行UNetbootin,選擇ISO映像檔,並指向到下載好的Android x86 ISO檔。然後選擇隨身碟的磁碟機代號,按確定,就可以製作可用來開機測試或安裝的隨身碟。
  3. 製作好開機隨身碟以後,我們就可以把隨身碟,安插在小筆電上,開機,選擇USB隨身碟開機(開機後到BIOS或是由BootMenu中指定為USB HDD開機)
  4. 因為還不確定所下載的ISO對於自己小筆電的支援性好不好,所以我們先不安裝系統,取而代之的,我們先選擇 Run Android without Installation
  5. 實際利用隨身碟開機到系統中,測試看看這個版本的硬體支援如何,最主要要考量的是:無線網路、顯示解析度、滑鼠、WebCam、觸控板(可否控制到左右滑動)
  6. 若下載的ISO檔,並沒有辦法合乎需求,可以重新下載另一個ISO(還是4.0 RC2),重新格式化或刪除隨身碟上的資料後,再用UNetbootin再製作一次開機隨身碟,再次測試,直到找到滿意的ISO檔。
  7. 找到滿意的ISO檔案後,開機時,就可以選擇Install Android to harddisk,真正的把系統裝起來。
  8. 安裝的過程,必須在Choose Partioion的地方建立兩個分割區,第一個sda1是用來放系統的,第二個sda2是用來當作sdcard裝置的。兩個都要格式化(設定)成 type 83的 ext3格式,而且sda1要設定為bootable,最後要記得write。(http://kalug.linux.org.tw/~lloyd/LLoyd_Hand_Book/book/cfdisk-howto.html
  9. 格式化好兩個分割區就可以選擇sda1進行安裝,是否要安裝GRUB開機管理程式,選YES
  10. 是否要建立一個可以讀寫的/system資料夾也要選擇YES。
  11. 安裝完成,重新開機。
重新開機後,就進入到了初始設定的歡迎畫面,簡單設定一下後,就可以看到桌面了。但我們還有兩個最重要的問題要解決。

  • SD卡問題:RC2版本之前,Android都是利用掛載一個2G的磁碟image檔案來充當sdcard,但是RC2之後,其實是利用sda1下的的一個目錄來當作sdcard的空間,實際測試,大約只有1/3的app可以被這樣蒙混過去XD,所以我們必須要利用我們在安裝過程中創的另一個sda2分割區來當作sdcard空間。方式是:重新開機,在GRUB選單中選第二個項目(Debug),開機後,提示符號結尾為#,代表擁有root最高權限,cd / 到最上層目錄,再cd 到mnt目錄下的GRUB中,vi menu.lst ,編輯 list檔,先按 i 進入insert 模式,在正常開機那段的Kernel行結尾加上 SDCARD=/dev/sda2,修改好以後,按下esc 再輸入:wq  存檔離開,然後就可以重開機了。




  • 第二個問題就是NDK的問題,Android其實是允許app開發者利用c++撰寫自己的native code,但這些code 是編譯成arm處理器能接受的格式,我們必須要在x86的架構下加上可以轉譯arm 指令給x86 cpu 執行的函式庫

    我們必須要從 Buildroid下載以及複製三組檔案到我們的系統中
    • Download libhoudini.so and copy it to /system/lib/
    • Download libdvm_houdini.so and copy it to /system/lib/
    • Download the arm libs, extract the downloaded archive and copy the files to/system/lib/arm/

      以上下載複製的動作可以使用兩個方式進行,在pc上下載好存在隨身碟上(開機的那隻就可以),然後插上小筆電,利用app當中的 file manager瀏覽 /mnt/USB/your_arm_lib_path  來複製到指定的位置。

      或是直接使用android x86來下載並複製到指定的位置去

      特別一提的是,android的play store 有個 ES檔案管理器,功能強大,可以幫助我們複製貼上搬動檔案、編輯檔案。
    • 最後還要檢查一下/system/build.prop 檔案的內容,是否能找到 ro.product.cpu.abi2=armeabi
      沒有的話也必須自己加上這一行。

至此,所有相關的修改與設定都應該完成。檢查看看內建瀏覽器可不可以下載檔案,如果不行,代表SDCARD我們所做的設定沒有生效,需要再次檢查。檢查看看 Angry Bird Rio 可不可以跑,不能跑的話代表arm translator沒有生效。











26 意見:

匿名 提到...

第8點

要如何格式化那兩個分割區?
下方的選項好像沒有欸
要輸入指令?

jackie chin 提到...

分割硬碟的部份可以參考這一篇文章
http://kalug.linux.org.tw/~lloyd/LLoyd_Hand_Book/book/cfdisk-howto.html

匿名 提到...

ANDROID 4.3 我 COPY

到system/lib/

它說,已經有檔案,我複寫它說發生錯誤

最後還要檢查一下/system/build.prop 檔案的內容,是否能找到 ro.product.cpu.abi2=armeabi
沒有的話也必須自己加上這一行。

編輯完成儲存後也是發生錯誤

jackie chin 提到...

已有檔案代表4.3 x86已經預先整合了arm tanslator, 不必手動匯入

編輯build.prop 前先修改下權限試試看
chmod 775 build.prop

jackie chin 提到...

How to edit build.prop

http://www.miui.com/thread-928635-1-1.html

匿名 提到...

謝謝!!可是我啟動PLAY商店時搜尋不到Angry Bird Rio

用電腦進play商店才發現原來不支援!!

請問要怎麼下載呢?因為PLAY商店很多程式都不支援

LINE也是。

如圖:http://goo.gl/9U4sB5

jackie chin 提到...

Google coolapk

匿名 提到...

Gogle coolapk????

手機已經有PLAY商店了阿

對了 FACEBOOK 有支援,可是安裝完啟動卻

都是黑螢幕,然後出現facebook發生錯誤,請稍候再試。

試了很多次都無法

匿名 提到...

結論:下載APK後在用EX檔管器安裝即可。

alan alan 提到...

我加上 SDCARD=/dev/sda2這一行之後sd卡找的到的只有256mb,瀏覽器還是無法下載

jackie chin 提到...

android x86 4.3 20130725 測試版本,確認已經整合了ArmTranlator
所以不必自己編輯build.prop了

但是還是可以自己修改build.prop的製造商資料,或許可以增加一些些程式相容性

jackie chin 提到...

另外,測試x86安裝 stickmount 後,可以支援usb otg
主要就是插上隨身碟之後,可以從檔案總管程式中找到usb的內容

匿名 提到...

執行FB時黑螢,出現"facebook發生錯誤"??

匿名 提到...

感謝分享. 可惜HP-2133似乎還是無法成功驅動Wifi. 用eeePC ISO 可以正常使用觸碰板模擬滑鼠, 音效也有出來, 但Wifi完全沒反應. 用IBM ISO要另外接滑鼠(觸碰板變成類似觸碰螢幕, 可以拖曳換頁但看不到滑鼠圖示), 打開Wifi可以搜尋到基地台, 但是按連線無反應. 感覺只差一步了 >_<

jackie chin 提到...

Ibm iso default的操作方式其實不錯喔,可以試試看。

jackie chin 提到...

Ibm iso default的操作方式其實不錯喔,可以試試看。

Kenny 提到...

請問是否必要先解除安裝Window才安裝Android?

阿貓阿狗 提到...

我發現~如果不小心按到通話鍵...他畫面會變成橫的~這有辦法解決嗎

jackie chin 提到...

@Kenny:
可以不必解除安裝WINDOWS,可以自己安裝到新的分割區,不過如果當初會想要在小筆電安裝ANDROID的目的是因為跑WINDOWS太慢,可以把WINDOWS解除

@阿貓阿狗:
可以安裝鎖定螢幕旋轉的app來解決諸如此類的問題,例如https://play.google.com/store/apps/details?id=nl.fameit.rotate&hl=zh_TW

匿名 提到...

您好:
我在Silicon Power Mini 320(16G) 裝了android系統,想用usb開機來跑Android。
安裝好後第一次開機可正常進android,關機後再開機選usb開機則無法進入android。請問可能那裡弄錯了?

匿名 提到...

你好,我筆電是安裝Android X86 V4.4.2版,藍芽無法與其它Android裝置連線,本身搜尋不到其它Android裝置,而其它Android裝置也找不到本裝置,並且會出現 "無法與Android-x86配對,因為PIN碼或密碼金鑰不正確" 的訊息,問題是,根本沒有出現可以輸入密碼的地方,這問題要怎麼解決?

匿名 提到...

更正:其它裝置找的到筆電Android X86,但無法配對連線,出現的訊息如上述。

匿名 提到...

請問一下,目前市面上有推出acer chromebook 13,這台筆電是arm cpu,請問有現成的iso檔可以下載,就像你這篇文章提到的一樣方式安裝嗎?

匿名 提到...

Hi:
請教一下,該如何實現 efi -> bootx64 進入Android 呢

匿名 提到...

您好:
最近入手一台 MSI windpad 110W (win7家用)
要改成 那一版本較合適?
它也有像IBM 的小紅點功能(黑色),又有獨立SD卡槽及1埠USB及mini HDMI
4GB RAM/64GB SSD 在平板規格上應該是不錯的規格,只有CPU較弱而已

江各明 提到...

請問我按照您的方法做,我先選擇 Run Android without Installation 結果沒問題,之後要正式安裝時,出現 Installtion failed!Please check ig you have enough free disk space to install android-x86.之後就不能再裝了。可是我的容量有160G。我的小筆電是asus eee pc 904HA。請問這是那個地方出問題了。

張貼留言

留言........