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 ! :)

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

目前已知可用的 ARM Translation package 都只能在 4.x 上運行,趁最近比較有空來研究一下這個很早就想看的問題。過程就不描述了,最後我是從 ZenFone 一代把相關的檔案丟進去就可以跑了。為什麼是 ZenFone 一代而不是 ZenFone 2 代或者是 Nexus Player ? 因為 Genymotion 用的 kernel 是 x86 版本,而 ZenFone 二代與 Nexus Player 用的是 x86_64,硬塞檔案進去最後會死在 SI_KERNEL,想破頭才注意到應該要丟 ZenFone 一代的檔案。 :)

檔案在這:https://mega.nz/#!Iw1HRLxR!8zVOQ84uk2hpxgsRrsHfp-wsbKOUvupHLJyWqWzPiUg

使用的步驟很簡單:
- 在 Genymotion 裡面建立 5.0 or 5.1 的模擬器。
- 開機後把 ARM_Translation_Lollipop.zip 拖到模擬器視窗中,讓他自動安裝。
- 先不要重新啟動模擬器,透過 adb shell 執行 /system/etc/houdini_patcher.sh
- 完成後重開模擬器即可。

除了本來 houdini 相關檔案要丟進去以外,/system/etc/init.androVM.sh 也做了些修改,偵測到有安裝 houdini library 便掛載 binfmt_misc,接著啟用 houdini。前面執行的 /system/etc/houdini_patcher.sh 會對 ramdisk 做修補,因為載入順序的關係無法在 /system/build.prop 指定新的值,所以得為 ramdisk 修改讓下面三行在 /default.prop 的最開頭:

ro.dalvik.vm.native.bridge=libhoudini.so
ro.product.cpu.abilist=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi

當然不是所有的 app 都能執行,不過至少我想用的電動一部分可以跑了.. ^^

Steps:
- Create 5.0 or 5.1 emulator in Genymotion
- Drag the file "ARM_Translation_Lollipop.zip" into emulator to install the package
- DO NOT RESTART, enter adb shell and execute /system/etc/houdini_patcher.sh to patch ramdisk for running the framework.
- Restart emulator and enjoy ! :)

Comments

comments powered by Disqus