Posts match “ genymotion ” tag:

分享一下個人打包給 Genymotion 使用的工具軟體,方便開發者或玩家從 Play Store 下載 apps or games,包括:

  • ARM Translation (5.x & 6.x)
  • Google Apps (5.0, 5.1, 6.0) 裡面的檔案主要是設定 Google Account 與 Play Store,打包自 Open GApps Project pico 版。
  • SuperSU 2.65 版

直接丟入模擬器的視窗,依照指示按 OK 鈕,重開即可使用。

檔案在這:https://mega.nz/#F!JhcFwKpC!yfhfeUzvIZoSdBgfdZ9Ygg

目前 Genymotion (2.6.0) 上面老早可以使用 Android 6.0 的 image,而根據網友的回報現在要跑 ARM Translation 比以前簡單多了,無需修補 ramdisk,把需要的檔案丟入虛擬機器後重新開機,內建的 /system/etc/init.androVM.sh 腳本檔便會自動啟用 ARM Translation 環境。

檔案在這:https://mega.nz/#!p4lFlCZR!TFsb8dMqNdAJjKoCDPDDvNtcQdEB0-KkVlTgQVwG20s
主要檔案來自 http://dl.android-x86.org/houdini.php?v=6_x

使用步驟:

  • 在 Genymotion 裡面建立 Android 6.0 的模擬器。
  • 開機後把 ARM_Translation_Marshmallow.zip 拖到模擬器視窗中,讓他自動安裝。
  • 完成後重開模擬器即可。

2016-04-02 Updated: Genymotion 新版 (2.6.0) 的 image 已經不需要額外的 patch 囉,只要把 zip 檔案丟進去,重開機後自動偵測啟用 ARM Translation。

新的 zip 檔案在這:https://mega.nz/#!Mt8kyBxa!iVJYC7eI7ruLVoaarWIa85QOm_VlH53G0knVGpoSlAE

使用的步驟很簡單:
- 在 Genymotion 裡面建立 5.0 or 5.1 的模擬器。
- 開機後把 ARM_Translation_Lollipop_20160402.zip 拖到模擬器視窗中,讓他自動安裝。
- 完成後重開模擬器即可。

Steps:
- Create 5.0 or 5.1 emulator in Genymotion
- Drag the file "ARM_Translation_Lollipop_20160402.zip" into emulator to install the package
- Restart emulator and enjoy ! :)

---------------------------------------------------------------------------------------------<

Continue Reading →

最近使用 Genymotion 時,透過拖放的方式刷 zip 進去都會出現這樣的錯誤訊息,明明很久沒更新版本 (2.6.0) 怎麼突然就出問題了?後來想到 Android SDK tools 有更新,於是去 Genymotion Player 的 Settings 裡面,在 ADB 分頁中使用 “Use Genymotion Android tools (default)”,重新啟動 player 後就可以順利丟入 zip 檔案囉。

雖然總算可以在 Genymotion 上的 5.x 執行 ARM 程式,但總是有些遊戲在 ZenFone 上跑得好好在模擬器上卻無法執行,起初也覺得是單純 library 相容性問題,畢竟用的 houdini 版本有點舊,後來仔細看了下 log,撇開直接在 libhoudini.so crash 的不談,有部分程式在 ZenFone 上執行時使用的 ABI 為 armeabi-v7a,但在模擬器上卻是使用 x86。

看似合理卻又有點怪異,於是翻了下 Pm.java,試著安裝時指定使用的 ABI 為 armeabi-v7a 後,還真的可以執行了... 不曉得 ZenFone 是不是有另外動了什麼手腳呢?

anyway 在模擬器中指令大概像這樣:

root@vbox86p:/data # pm install -r --abi armeabi-v7a /data/app/package_name/base.apk 

如果想換回 x86 把 armeabi-v7a 換掉即可。

Genymotion 早期的版本有支援模擬 (硬體) 的 SD 卡,但後面的版本不知道為什麼拿掉了這功能,但你依舊可以在 deployed 目錄下找到 android_sdcard_disk.vmdk or sdcard.vdi 這兩個殘留的檔案。

於是花了點時間做了這個 patch:https://github.com/shakalaca/GenymotionSDCardEnabler 目前只支援 Android 5.x,4.3 & 4.4 不知道為什麼 vold 一直偵測不到裝置。目前只在 Mac 上測試過,記得要先安裝 Apktool 重新打包 framework-res.apk,讓 Android 那邊可以看到多出來的裝置。安裝方式很簡單,先開啟模擬器,然後執行 install.sh 進行修補,接著重新啟動模擬器即可。

  • 一個模擬器執行一次 install.sh,如果有重新執行的必要,請建立新的模擬器。(因為沒有防呆機制)
  • 其實也可以讓 emulated storage 與 real sdcard 並存,需要的朋友可以將 assets/extras 的檔案拉回 assets 後執行 install.sh 即可。
  • 如果覺得不想要用模擬的 SD 卡而是用 USB 隨身碟 (可以測試熱插拔)
    • 將 assets/fstab.vbox86.patch 裡面的 */block/sdc* 改為 */block/sdd*
    • 關閉 Genymotion,開啟 VirtualBox。
    • 修改對應的模擬器設定,找到 port -> USB,此時插入你想要用的隨身碟,接著點選右邊第二個 icon (有 + 符號) 將你的隨身碟名稱加入,儲存設定 (按 OK)。
    • 關閉 VirtualBox,重新啟動 Genymotion (記得先拔除隨身碟)。
    • 模擬器啟動完成後,插入隨身碟就可以當外接 SD 卡使用啦。 :)

如果你有裝 Parallels Desktop or VMWare Fusion:

  • 點擊掛載 android_system_disk.vmdk, 找到 ramdisk 所在地開啟 terminal, 移出 ramdisk 到比如說 /tmp/test
  • cd /tmp/test; mkdir root; cd root; gunzip -c ../ramdisk | cpio -i
  • 做你想做的事情: 塞檔案, 編輯檔案, 比如編輯 default.prop, 把 ro.secure=1 改為 0
  • find . | cpio -o --format newc | gzip > ../ramdisk.new
  • 把 ramdisk.new 放回原來的目錄並更名為 ramdisk, 收工 !