Posts match “ zenfone ” tag:

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

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

電腦透過 USB 連接線使用手機的網路上網稱 USB Tethering,而反過來手機透過 USB 連接線使用 PC 的網路上網,稱作 Reverse USB Tethering。前幾天在論壇上面看到有人提出 ZenFone 能否使用 Reverse USB Tethering 的問題,覺得頗有意思,研究了一個晚上總算整理出一套流程,我所使用的手機是 ZenFone 5,版本為 Android 4.3。

Continue Reading →

簡單筆記一下如何在 ZenFone 上使用 PS3 手把 :)

預備物品:

  • ZenFone (Rooted)
  • PS3 手把
  • Mini usb 連接線
  • 可外接電源的 OTG 線 (非必須)

預備軟體: (這邊使用 Sixaxis Controller)

步驟: (如果沒有 OTG 線)

  1. 手機先安裝 app,開啟後點選 Start,畫面下方會出現手機的 BT 位址,記下來。
  2. 電腦安裝 Sixaxis Pair Tool,完成後連接 PS3 手把。
  3. 把剛剛記下來的 BT 位址寫入對話框裡面,點選 Update 更新 PS3 手把連線的設定。
  4. 完成後拔開連接線,等 PS3 手把燈熄滅。
  5. 按 PS 鍵開啟手把電源,手機上的 app 如果顯示 "Client 1 connected" 代表成功。
  6. 請參考 eprice 上的文章 用 PS3 手把玩遊戲:Sixaxis Controller 軟體篇 設定 app。

步驟: (如果有 OTG 線)

  1. 手機先安裝 app,開啟後點選 Start。
  2. 將 PS3 手把與手機透過 OTG 線連接,OTG 線記得接上電源。
  3. 點選 app 上的 Pair,更新 PS3 手把連線的設定。
  4. 完成後拔開連接線,等 PS3 手把燈熄滅。
  5. 按 PS 鍵開啟手把電源,手機上的 app 如果顯示 "Client 1 connected" 代表成功。
  6. 請參考 eprice 上的文章 [用 PS3 手把玩遊戲:Sixaxis Controller 軟體篇](www.eprice.com.tw/mobile/talk/12

差別只在於你想透過手機還是電腦把手機的 BT 位址寫入 PS3 手把 :)

Continue Reading →

手機解鎖後刷自製的 recovery,除了可以隨意的 root、升降版本,更重要的是可以打包優化過後的 ROM 刷進去。比如說我想要降版到 1.17.40.16,去官網抓回 ROM 後解開,修改 META-INF/com/google/android/updater-script,把幾行 assert 的訊息拿掉:

assert(!less_than_int(15014039, getprop("ro.build.date.utc")) || greater_than_int(getprop("ro.build.date.utc"), 1392739200));
assert(getprop("ro.build.asus.sku") == "TW");

還有 recovery 目錄與相關的設定也移除,因為想保留自製的 recovery:

package_extract_dir("recovery", "/system");
set_perm(0, 0, 0544, "/system/etc/install-recovery.sh");

一切就緒後將整包目錄壓回原來的 zip 檔案,開機進入 recovery 透過 adb sideload 刷入,重開機確認成功降版,一切看似美好,直到重新進入 recovery..

Continue Reading →