2011年3月18日 星期五

Android Emulator Market

Android 模擬器提供了很多讓人測試的空間,而且是虛擬的,就表示
不必擔心中 android 木馬或者操壞它,只可惜美中不足的就是沒有 Market。

底下這個教學是在網路上經過一段時間的翻找後,找到最簡單也最快速的版本
並將找到的資料整合起來:

(底下都假設已經有安裝 Android SDK)

先下載檔案:Market App for Froyo

註:分享空間為 FileFront (現在更名為GameFront),如果載點掛了請留言我會去更新



建立一個 API Level 為 8 的 Android 虛擬機器(底下簡稱 avd),假設命名為 MyFroyo
註: Android API Level 8 => Android 2.2


並不需要特殊的設定,所以直接建立好即可。

接著將 SDK 目錄下的 platforms/android-8/image/system.img 複製到
UserHome/.android/avd/MyFroyo/ 中

註一:表示 Android 2.2 的平台
註二:表示使用者的家目錄, Windows 底下可用 %USERPROFILE%
註三:表示 avd 的名稱


完成後,請不要用 Manager 開啟此模擬器,
請用 tools 底下的 emulator 啟動。

由於預設 /system 剩餘空間是 0,而底下操作要將一些檔案 push 進入
/system 底下,所以使用這個指令啟動模擬器:

emulator -avd MyFroyo -partition-size 96

這表示指定 /system 這個 partition 為 96 MB 啟動
這樣就有寫入資料的空間了。

模擬器啟動之後,先將 /system/build.prop 檔案給取出
指令為:
adb pull /system/build.prop

註:如果有一台以上的裝置連接上(如模擬器 + 實體機),可在 adb 後加參數 -s 指
定裝置
。如: adb -s ##### pull , 其中 ##### 是裝置號碼,可以用 adb devices 查看

到 adb 的目錄中用文字編輯程式開啟這個檔案,找到
ro.config.nocheckin=yes
在前面加上 # 註解掉這行,存檔。

接著將 /system 掛為可讀寫,下指令:
adb remount

接著進行四個動作:
1. 將修改好的 build.prop 放回去
2.將上面下載的 Market 程式(有兩個 apk) 放到 /system/app 底下
3.刪除 /system/app 底下的 SdkSetup.apk

指令分別是:

1.
adb push build.prop /system

2.
將上面下載的壓縮檔解開,可以拿到GoogleServicesFramework.apk
和 Vending.apk 兩個檔案,放到 adb 的目錄中,用指令 push 進去:
adb push GoogleServicesFramework.apk /system/app
adb push Vending.apk /system/app

3.
adb shell rm /system/app/SdkSetup.apk

到這邊為止,我還不知道為何要修改 build.prop 和為何要刪除 SdkSetup.apk...
反正就照著做就對囉

完成後關掉模擬器(直接按 x 就好了)

然後到 UserHome/.android/avd/MyFroyo/ 中,將底下的
userdata.img
cache.img
userdata-qemu.img
三個檔案刪除(表示初始化裝置,有點像 wipe data)
再以 Manager 啟動模擬器即可。

經過實際測試, Android 2.3 的模擬器不適用這個方法,因為會不知名原因
無法連接網路,就算有 Market 也沒用....

2.2 的話就比較正常,不過模擬器的 Home 鍵會失效就是了...

4 則留言:

  1. 你好
    無法下載Market App for Froyo
    麻煩更新
    謝謝

    回覆刪除
    回覆
    1. 真抱歉XD
      檔案上次電腦掛掉後就找不到了...

      刪除
  2. 無法刪除sdksetup.apk,出現"no such file or directory",請問如何解決,thanks

    回覆刪除
    回覆
    1. 如果沒有的話其實就不用理它了XD

      刪除