Posts match “ zenfone ” tag:

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

操作必須知道的基礎知識

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

透過 recovery 刷回原廠 ROM 的方法

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

Continue Reading →

雖然說是 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 :(

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

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

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

[Xposed] Patched 2.7–experimental1 Installer 主要是最近 ASUS 更新了 ZenFone 一代 4.4.2 的 ROM,加入了類似這樣的 patch,導致升級後安裝 XposedFramework 手機無法正常開機 (軟磚)。

解法不難,拉出 v58 的 Xposed 再針對 AndroidRuntime::start 的呼叫做些修改,即可編譯出相容新舊版 Android (4.4 以下) 的 Xposed,翻了下 google 似乎沒人處理 x86 這塊,所以花了點時間編譯新版讓有需要的朋友使用。

請由此下載:https://mega.nz/#!09VTmSJT!BtLBJl5t14yxIx6cMSOP_bc6ygV7qQTV3tLfcpMglZk

感謝 rovo89 與其他貢獻者無私的付出,才有這麼棒的 framework 可用。 :)

距離上次發佈跳了很多版號,相關討論可以上 ZenTalk 爬文,總之歷經不同型號手機的『洗禮』還有 SafetyNet 改版,以及易用與除錯的需求,最後來到了這一版。

不過對於 Android 6.0 使用 systemless root 的朋友來說,目前已經不能單純靠安裝 app 避開偵測,得重新刷 root 並且配合我的修補 (主要是環境變數 PATH 不能包含 /su/ 的路徑,因此得還原 SuperSU 所做的修改)。而修補又為了相容 supolicy 的使用,因此需要在 SuperSU 的設定檔案 (.supersu) 加入 BINDSYSTEMXBIN=true

主檔案在此:https://mega.nz/#!ghsGkLCA!ucsM7pglynyNHjaSj7g5_iUW7tohpYTwTcsprqm6olU
SuperSU 的修補檔案在這:https://mega.nz/#F!NwUAxKjA!lodsOX94Wd4I5HfBFR3jJg

重新刷入 SuperSU.zip 之前請先執行下面幾步:

  1. 把 custom_ramdisk_patch.sh 推到 /data
  2. 刪除 /data/su.img
  3. 以 adb shell 進入執行 echo BINDSYSTEMXBIN=true >> /data/.supersu

完成後刷入 SuperSU.zip 重開機,安裝 RootSwitch 並快樂切換,當然測試過的手機不多,所以請斟酌使用並小力回報。

Continue Reading →