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 拖到模擬器視窗中,讓他自動安裝。
  • 完成後重開模擬器即可。

最近使用 Genymotion 時,透過拖放的方式刷 zip 進去都會出現這樣的錯誤訊息,明明很久沒更新版本 (2.6.0) 怎麼突然就出問題了?後來想到 Android SDK tools 有更新,於是去 Genymotion Player 的 Settings 裡面,在 ADB 分頁中使用 “Use Genymotion Android tools (default)”,重新啟動 player 後就可以順利丟入 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 早期的版本有支援模擬 (硬體) 的 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, 收工 !

雖然總算可以在 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 換掉即可。