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

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 →

最新一版的 FOTA 會將平板升級到 Android 5.0.1 (版號顯示為:TW_epad-user 5.0.1 LRX22C TW_epad-12.14.1.9-20150327 release-keys) 有幾點要注意:

  1. 5.x 的 root 方式與 4.x 不同,如果直接 OTA 升級理論上 root 會消失。
  2. 華碩這次做更絕,除了 fastboot 將 flash 與大部分 oem command 封鎖、依舊無法刷入 recovery 以外,升級過後的平板無法降版 (把 ROM 更名為 MOFD_SDUPDATE.zip 放在 SD 卡進入 recovery 降版本的方法失效,程式會檢查 zip 內的 Android 版本)

與 ZenFone 2 的 5.0 相比,少了幾個功能:

  • 佈景主題
  • ZenMotion
  • 自動啟動管理
  • 兒童模式
  • 相片拼貼
  • 遊戲中心

目前還沒時間找新的 root 方式,所以已經 root 的朋友更新前請三思,至於已經更新的.. 等等看吧。

註記一下,免得之後忘記。

這個版本做了安全性的修補,所以之前提到的 unlock 程式:
http://23pin.logdown.com/posts/236852-zenfone-rootzenfonekitkatv3
http://23pin.logdown.com/posts/234127-zenfone-unlock-relock-bootloader-without-using-official-unlock-app

將無法使用,請注意。如果您手上的裝置有刷第三方 ROM,除非您要送修,請在還原時 絕對不要使用到這一版,以及之後的版本

2014-12-23 Update: If you're failed to root device:

  • Flash older fastboot.img first and try again.
  • Try another version with 'mount' command if above method still failed, this worked on my ME572C :)

之前說要 release 的 root tool,大致上目前 ASUS 的 Intel 系列手機/平板 Android 4.4 版都可以使用,Android 4.3 可能需要根據裝置做微調,但不會太困難。 :)

v1 (use fastboot oem backup_factory)
主站:http://goo.gl/EvTZA1 (ASUS Webstorage)
分流:http://goo.gl/3Hq5Uf (MediaFire)
分流:http://goo.gl/jorVeL (Mega)

v2 (use fastboot oem mount) use only when above method failed to root
主站:http://goo.gl/sCF9nZ (ASUS Webstorage)
分流:http://goo.gl/dvVcWW (MediaFire)
分流:http://goo.gl/Z3Cjes (Mega)

兩個版本擇一使用,第一個是根據先前的實驗改良後的版本,詳細原理有時間再說明,使用方法跟 RootZenFoneKitKat 一樣;第二個則是在 ME572C 上面的 root 方法。

最後祝各位 ZenFone 及 MeMOPad 的使用者聖誕與新年快樂!

花了不少時間上傳,未來會持續整理這篇文章。

http://goo.gl/XJB9x1 (ASUS webstorage)
http://goo.gl/BpqzBt (MediaFire)
http://goo.gl/ODBFVF (MEGA)

Known issues

  • LED indicator always on
  • Error reading SIM Contacts
  • Error detecting headset
  • No auto mobile networking
  • Slow start of video play

Todo

  • Remove GPS
  • Recovery

Changelog

2014-12-21

  • Camera: video recording is working
  • Video: working with long loading time
  • BT & GPS: due to deep integration in framework layer they won't work until ASUS release the code .. or reverse engineering :p
  • Phone: auto mobile networking won't work, same reason above.
  • Built-in SuperSU
  • Add build.a501cg.prop
  • Add Settings / MMS / Telephony configuration
  • APN: working
  • ART: should be working again

2014-11-30

  • Houdini is enabled :)
  • WiFi: working
  • Storage: both internel / external sdcard working
  • Vibrator: working
  • Music: at least mp3 is working
  • Screen rotation: working
  • Screenshot: broken preview but content is ok
  • Phone: you have to select operator manually
  • Camera: front / back / flash light working, can take picture (slow)/panorama, video content is broken
  • GPS: broken
  • BT: broken .. can turn on for a while
  • Video: broken
  • Indicator: broken, it's always on

2014-11-29 First alpha release

  • can boot, woot ! ;-)
  • only tested on ZenFone 5 (T00F)

How to use

Simple version

Long version

  • not finished yet

How to build one ?

  • RTFM here : http://s.android.com/source/building.html
  • git clone https://github.com/shakalaca/android_device_asus_a500cg and place the folder in device/asus/a500cg
  • source build/envsetup.sh && lunch aosp_a500cg-userdebug && make -j4
  • for system.img: out/target/product/a500cg/system.img
  • for kernel: out/target/product/a500cg/kernel
  • for ramdisk.img: out/target/product/a500cg/ramdisk.img
  • for creating bootable boot.img: out/host/linux-x86/bin/pack_intel device/asus/a500cg/blobs/boot-ww-2.20.40.13.img kernel ramdisk.img new_boot.img

雖然說是 alpha 版,還是先把目前的成果 release 給有興趣的朋友修改。 :)

檔案放在這:https://github.com/shakalaca/android_device_asus_a500cg

幾點注意事項:

可以先用原廠的 boot.img

  • 單純 AOSP 是沒法編譯出可以動的 boot.img,得透過打包工具將 kernel & ramdisk.img 拼起來。
  • ASUS 對 init 做了不少修改,所以就算拼湊出 boot.img,相機/WiFi/BT.. 都完全沒法用,如果不使用自行編譯的 init 其實整個 ramdisk.img 跟原廠的沒什麼兩樣。
  • 測試過原廠的 boot.img 相對穩定許多。:)

編譯 CM11 開機 audio driver 無法正確載入

  • audio policy 設定出錯,無法設定 output device,推測應該有個 library 得用原廠的。
  • 如果硬要用其實可以刪除 (或跳過) /system/lib/hw/audio*.redhookbay.so,然後在螢幕還沒關起來的狀態下將聲音設定都關閉,可以稍微正常使用。

目前無法使用的功能

  • GPS:gpsd 會 crash
  • ARM program:AOSP 4.4.x 沒有整合 Houdini,不過可以參考 GeeksPhone 的 patch
  • SDCARD:看起來應該是權限或者路徑設定問題,需要 patch。這會造成相機可以 preview 但無法存檔。
  • Video:codec 沒有成功載入。

暫不提供編譯好的 system.img

  • 家裡網路怪怪的,上傳會失敗,請有能力編譯有空間的朋友幫忙產生一版吧。 :)
  • 編譯前請先接上手機執行 extract-files.sh,會從手機上將必要的檔案拉回來編譯 (../../../vendor/asus)

Still in alpha stage, but I think it is better to release early and people interested in AOSP build for ZenFone can jump in :)

Use stock boot.img

  • Of course you can use my tool to pack kernel and ramdisk.img, but BT/WiFi/Camera ... won't work because lots of propietary library only work with init modified by ASUS.
  • Stock boot.img works fine with custom AOSP build .. for now you can just trust it.

Malfunction component

  • GPS: gpsd crashes
  • Program written for ARM platform: Houdini is not integrated in AOSP 4.4.x, but I think we can use the patch from GeeksPhone
  • SD Card: Permission or path configuration issue I thought
  • Video: Not fully tested but most of my test files cannot be played..

For CM11

  • You can build for CM11, but you should remove audio*.redhookbay.so and uncheck all sound releated settings after boot.
  • Need patch from GeeksPhone

For recovery

  • Never have time to build and test :(

電腦請先安裝驅動程式 (Windows 平台)

操作必須知道的基礎知識

  • fastboot 的進入方法:關機狀態按著電源鍵與音量大開機。
  • recovery 的進入方法:關機狀態按著電源鍵不放開機,當手機震動一下時再按音量小,看到 ASUS logo 後放開,等到出現驚嘆號與倒地的機器人時,按著音量小不放再按一下音量大即可出現選單。
  • fastboot 與 recovery 的操作方法:音量大小可以上下移動光標,電源鍵為選擇。

透過 recovery 刷回原廠 ROM 的方法

進入正題,不管是新手老手總是有出錘的一天,最怕的就是手機再起不能,這邊列出常見的異常狀況以及排除方式,希望能幫助到需要的朋友,如果有錯誤歡迎留言指教。:)

Continue Reading →

先講無聊的部份:

  1. Intel Z3560/Z3580 的 CPU, boot.img/fastboot.img/recovery.img 的 HEAD_PADDING 後面的 UNKNOWN_SIZE728 bytes,而 BOOTSTUBSTACK_SIZE 也是 8192 bytes。
  2. RootZenFone 修改一下即可使用,晚點再發佈小更新。
  3. recovery 裡面的 sideload 是壞的,adb port 根本無法打開,拿到時有做一次軟體更新還是沒修復,猜想應該不想讓人使用吧?fastboot 裡有 SD Download,看來日後的 factory image 會是 .raw 格式。

比較有趣的部份:

fastboot 有個小後門,可以拿來做 root 的應用:

Continue Reading →