Android SDK模擬器安裝筆記

為了測試網頁在不同Android版本的瀏覽效果,我想用Android SDK提供的模擬器跑不同版本Image,省去找實體機的麻煩。雖然最後因效果不佳放棄,但耗了大半天,多少對Android SDK、Eclipse多了一些了解,整理筆記以備日後不時之需:

  1. 一開始我是在Windows 2008 R2安裝ADT,使用SDK Manager下載好System Image,以Android 4.0.3為目標,成功啟動模擬器。但鑑於ARM版本速度不佳,而x86版硬體加速需要Intel Virtualization Technology(VT)支援,在我的Win2008R2已被Hyper-V佔用,便把腦筋動到另一台拿來跑iOS模擬器的iMac上,打算把Android模擬器的重任也交給它。
  2. http://developer.android.com/sdk/index.html可以下載Mac版Eclipse,卻一啟動就觸礁,Eclipse抱怨沒有Java SE 6 Runtime可用:
  3. 下載安裝JDK 8,訊息依舊,爬文知道這是Oracle設下的陷阱JRE VM設定短缺所致,依文章指示,將Info.plist複製到~/Downloads,修改後複製回去(需sudo),缺少Java Runtime的問題即告排除。(PS:學會Command Line開文字編輯器的技巧,open –a TextEdit ~/Downloads/Info.plist)
  4. 閃過第一個陷阱,妖怪一號(史萊姆)登場。Eclipse未經簽署,需手動放行。

    找到「系統偏好設定/安全性與隱私」

    Mac直接列出放行Elipse的選項,很貼心。
  5. 開啟Eclipse後由Windows選單啟動Android SDK Manager,卻因公司防火牆偷換SSL憑證,Android SDK Manager認定憑證無效拒絕下載,理論上只需調整SDK Manager設定,不走HTTPS改用HTTP即可解決。妖怪二號(巴風特)上陣,我找不到Android SDK Manager的設定選單!
  6. 爬文找到密技,得從Shell下指令./android sdk開啟SDK Manager,才會出現偏好設定選單:
  7. SDK Manager下載好Intel x86 Emulator Accelerator (HAXMM Insatller)還要手動執行安裝。在Mac上以OSX 10.10為界,分成兩種不同版本,用的iMac是10.9,所以要執行sdk/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM_1.1.0_below_10.10.dmg (Windows的安裝程式是intelhaxm.exe,我的Windows 2008R2啟用了Hyper-V裝不了)
  8. 啟動模擬器時,記得要指定顯示尺寸。依原解析度,裝置一轉向常常下半截就超出電腦螢幕下緣,看不到拖不動捲不了。另外,Android模擬器沒有UI按鈕可以旋轉裝置,不少操作得透過快捷鍵
  9. 順利在Mac啟動4.0.3 Intel x86 Atom System Image模擬器,大魔王登場了-我無法在4.0.3模擬器執行Chrome?由於Android 4.0.3未內建Chrome瀏覽器,得自己設法安裝,在這裡卡了大半天, 以下是我嘗試的過程。
  10. 在網上找到在Android模擬器安裝Google Play商店的方法,照方煎藥真的成功哩!設好帳號進入Goolge Play,搜尋"Chrome"卻找不到Chrome瀏覽器項目。爬文找到修改Google Play篩選器的解法(篩選器會依據硬體、軟體、電信商決定使用者可以查詢及下載的App範圍),但要Unzip apk修改裝置識別資料,破解程序看似複雜,擔心一陷進去不知何年何月才能脫身(我只不過是想用模擬器跑Chrome讓專案測試簡便一點的Android麻瓜,並不想鑽進去當駭客啊~),放棄!
  11. 在APK4Fun可以找到Chrome Browser APK,下載後用adb install chrome-browser-38.0.2125.102-www.apk4fun.com.apk三兩下就裝好,可惜…

    執行後出現「找不到執行Chrome所需的重要功能;Chrome安裝程序可能未完成,或是Chrome與這個Android版本不相容。」錯誤,App自動結束。
  12. 在一篇文章找到說明:作者說在模擬器使用Chrome時常會遇到此一錯誤,建議改用Chromium,並寫了自動下載安裝的Script。試著下載安裝Content Shell及Chrome Shell,但一執行就閃退沒搞頭。
    爬文找到答案:Chromium is built for ARM, not x86, so it won't run on the x86 emulator unless you build it yourself for x86.
  13. 改用ARM(armeabi-v7a)版Image跑模擬器,安裝Chromium,終於能啟動Chrome Shell成功瀏覽網頁。如圖所示,Chromium的操作介面與Chrome有點出入,但二者核心相近,應可勉強頂著用:
  14. 抱著姑且一試的心情,在ARM版模擬器也裝上Chrome Browser APK,意外發現可以成功執行耶~
    之前遇到的「找不到執行Chrome所需的重要功能…」錯誤,看來也跟x86 vs ARM有關。

 

雖然成功在Android模擬器跑Chrome瀏覽器,短暫試用後還是打消了用模擬器測試的念頭,有幾個原因:

  1. ARM版模疑器實在太 慢 了!每一步操作後就是等等等,急驚風如我,操作個三分鐘就差不多到達人體極限,再多用兩分鐘,如果我沒把電腦砸爛,八成是因為中風了。
    另外,我還遇到等待網頁下載時性急在空白處多點一下,Chrome就直接跳到點選位置連結所指的下一頁,模擬器已經慢到觸控與顯示無法同步囉~
  2. 既然得改用ARM,我試著改在Windows 2008R2跑模擬器,結果慘不忍睹,三不五時就Crash或Not Responding… 多來個幾次,如果我沒把電腦砸爛,八成是因為中風了。
  3. 不管在Mac或Windows,操作常會被「很抱歉,系統UI已停止」的訊息打斷,很不流暢,多看上幾回,如果我沒把電腦砸爛,八成是因為中風了。

為了健康與效率,最後還是Android測試還是回歸實體機,忙了半天回到原點,唯一的收獲是Android模擬器與Mac經驗點數+1。

[2014-10-25更新]許多朋友強力推薦Genymotion,原本以為它基於VirtualBox只能跑x86,但似乎有解,但仍有跟Hyper-V搶Intel VT的問題待處理

歡迎推文分享:
Published 25 October 2014 12:24 AM 由 Jeffrey
Filed under:
Views: 16,752



意見

# 奶綠茶 said on 24 October, 2014 07:40 PM

黑暗老師可以試試這套

www.genymotion.com

目前市面上速度最快的android emulator

# pcloverz24@gmail.com said on 21 June, 2015 02:27 PM

http://www.mastitune.com/

# Apk download said on 09 December, 2015 08:56 AM

黑暗老師可以試試這套

# osappsbox said on 18 July, 2017 01:05 PM

Tomorrow is the last entry day. To all of the wonderful people whom I have had commented on their remarks and their comment's on mine. I thank you. I think the Blogs are great and what learning experiences we all get from each other's views. A true learning experience. I wish all of you best of luck, I will be envious if I don't win but such is life. The Dream Home 2016 is the Dream of a life time and I hope the winning family get to actually live in it. May God bless and keep all of you.

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<October 2014>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication