Posts match “ android ” tag:

大部分的 Android 手機可以透過 dd 把 recovery partition dump 出來,比如 PadFone S 可以使用

dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of=/sdcard/recovery.img

取得 recovery.img。

但像 ZenFone 這種放在隱藏 partition 的該怎麼提取呢?其實可以透過 OTA package 或者原廠 ROM 的幾個檔案還原。

Continue Reading →

記錄一下, 整理 zip 到後來都有點亂..

警告

接下來的事情應該是所謂的破壞保固, 另外我也沒有保留原始 ROM, 所以.. 請斟酌服用.

目標

- 安裝 busybox
- 取得 adb shell
- 安裝自訂 launcher
- 安裝 Superuser

流程

- 抓 https://www.dropbox.com/s/vdyi5mubozkuesy/patch.zip
- 在關機狀態按著音量鍵小 + 電源按鈕, 大約 10 秒後出現 PCHomeTalk 畫面時放開, 沒多久就會進入 recovery
- 用音量鍵移動到 apply update from ADB, 按電源鍵進入
- 在電腦輸入 adb sideload patch.zip
- 等他跑完, 重開機, 選擇 Nova Lancher.
- 在桌面長按, 選擇捷徑, 選擇行為, 選擇 "設定", 他會展開一串列表, 找到開發人員選項 (DevelopmentSettings), 點下去
- 點選你剛剛建立好的捷徑, 把 USB 偵錯打開.
- 塞進你常用的 apk 吧, 恭喜你的 PCHomeTalk 獲得重生 ! :p
Continue Reading →

目前 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 上的 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 換掉即可。

其實這台 Remix Mini 已經到家一陣子了,只是一直沒時間好好把玩把玩,趁著選舉日有點空閒,接上鍵盤滑鼠螢幕體驗一下多重視窗的 Android 系統。當然身為 root 愛好者不會放過這個機會,上網搜尋一下沒找到方便的方式,有人說降版本可以用 towelroot,不過翻了半天官網就是沒找著 stock ROM,一怒之下開始找可能的突破口。XD

Continue Reading →

ZenFone 5
主網站:http://goo.gl/g3PPDS
備份:https://www.mediafire.com/folder/cq6wwpya68azb//ZenFone_5_recovery

ZenFone 6
主網站:http://goo.gl/URmr84
備份:https://www.mediafire.com/folder/4lo1w7qe30kdk//ZenFone_6_recovery

目前收錄了 1.15.40.35,1.16.40.7(50),1.17.40.16(17) 這幾個最近的版本,除了拿來研究以外,想要降版、換區域或者刷了其他版本的 ROM 想要還原原廠 ROM 都可以透過這些 recovery 完成,流程大約如下(以 ZenFone 5 1.17.40.16 WW 為例):

adb reboot bootloader
fastboot flash recovery 1.17.40.16_ww_recovery.img

接著手機選 recovery,開好後執行 apply update from ADB,在於電腦端輸入

adb sideload UL-ASUS_T00F-WW-1.17.40.16-user.zip

完成後可以視狀況 wipe data,重開機後就會是 1.17.40.16 WW 版囉。

2015-01-22 Updated:

目前 ZenUI + Android 4.4 版的大都無法使用這套程式囉,目前我也暫停程式的更新。

2014-12-03 Updated: 1.4.6.8r, 增加 AST21, K01H
2014-11-22 Updated: 1.4.6.6r, 增加 ME572CL。
2014-10-12 Updated: 1.4.6.4r, 修正 ME176C/ME176CX 更新後的改變。
2014-09-21 Updated: 1.4.6r, 請注意原先建議開始 root 後 5 秒重開機,從這一版開始延長為 10 秒後再重開機。
2014-09-11 Updated: 1.4.5r, support more devices
2014-09-02 Updated: ZenFone 4 說明

1.4.6.8r (ME572C/ME572CL/ME581CL/ME581C/AST21/ME176C/ME176CX)
主站:http://goo.gl/Umhd5A (ASUS webstorage)
分流:http://goo.gl/aZrYXp (MediaFire)
分流:http://pan.baidu.com/s/1pJukC3L (Baidu)

1.4.6r
主站:http://goo.gl/4g0T4M (ASUS webstorage)
分流:http://goo.gl/kxhtzI (MediaFire)

1.4.5r
主站:http://goo.gl/j92Wnv (ASUS webstorage)
分流:http://goo.gl/CktUZZ (MediaFire)

  • 針對運行 ZenUI 的機種進行了支援,理論上目前有使用 ZenUI 的手機或平板都可以透過這支程式 ROOT,歡迎膽子大的朋友可以在其他機型上跑跑看,並回報成功與否。 :)
  • SuperSU 更新到 2.02 版本
  • 移除在 ZenFone 上運行問題有點多的 Superuser,最後一版有支援的版本是 1.3.2r (主站:http://goo.gl/tiZ9Re、分流:http://goo.gl/0rDq2y

支援機種列表:

  • ZenFone 5 (T00F / T00J)
  • ZenFone 6 (T00G / Z002)
  • PadFone S (T00N)
  • ZenFone 5 LTE (T00P)
  • MeMO Pad 7 ME176C / ME176CX (K013)
  • MeMO Pad 8 ME181C (K011) (via: http://www.likefreelancer.com/?p=464)
  • MeMO Pad ME572C (K007)
  • MeMO Pad ME581CL (K013)
  • Fonepad Note 6 ME560CG (K00G) v11.2.1.22 (factory reset before rooting)
  • Fonepad 7 FE375CG (K019)
  • Transformer Pad TF103C (K010)
  • Transformer Pad TF303CL (K014)
  • ZenFone 4 (T00I / T00Q) 請參考另一篇 Recovery images for ZenFone 4 and root file,相較 RootZenFone 的方式安全快速可靠 :)

待確認機種:

  • Transformer Pad TF103CG (K018)
  • PadFone Mini (T00E)

不支援機種:

  • Fonepad 7 FE170CG (K012)
  • MeMO Pad 7 ME170C (K017)
  • MeMO Pad 7 ME70C (K01A)

Happy rooting!

最後附上 FAQ

DEMO 模式關不掉

  1. 當影片自動撥放時,請點一下螢幕,接著會回到DEMO APP頁面
  2. 此時按住"返回鍵"至少10秒直到一輸入密碼頁面出現為止
  3. 輸入密碼"741603"按下確定後會自動進入recovery模式進行回復直到自己重開機
  4. 回復完成,可再繼續進行ROOT動作

聯絡人消失

  1. 先下拉狀態列, 關閉自動同步
  2. 設定 -> 應用程式 -> 往左拉找到 " 全部 " 分頁 -> 往下卷找到聯絡人儲存空間 -> 點進去之後選 " 清除資料 "
  3. 回到 Google 帳戶, 從選項中點選 " 現在進行同步處理 " 或者拉狀態列打開自動同步.
  4. 回去聯絡人查看一下是不是都回來了

飛航模式開啟後執行程式, 先出現設定畫面, 接著出現 demo 程式, 當看到 ZenFone 字樣馬上長按電源鍵選重新開機, 聯絡人消失的狀況似乎比較不容易發生.

Asus webstorage 一直在展示帳號
設定 -> 應用程式 -> 給我找到 ASUS Webstorage -> 反安裝. 如果狀況允許, 我會出一版看看能否不讓它安裝 demo 版本

最後重申注意事項
ROOT 有風險, 可能會破壞手機破壞保固夫妻失和家道中落.. 當你下載程式並且使用它代表已經同意也知道這些風險, 手機出事完全都根本人無關. ROOT 後最好能執行一次恢復原廠設定

安裝好之後先別重開機, 透過 adb 進入手機, 在 /data/data/de.robv.android.xposed.installer/conf 下面新增 jit_reset_offset 這個檔案, 寫入 148 後重開機即可使用 :)

adb shell
su
echo 148 > /data/data/de.robv.android.xposed.installer/conf/jit_reset_offset
chmod 664 /data/data/de.robv.android.xposed.installer/conf/jit_reset_offset

Enjoy Xposed ! ;-)

參考資料: https://github.com/rovo89/Xposed/issues/6 # 基本上對象也是 ASUS 的裝置, 所以.. :)

2014-06-13 Updated:
StickMount 會造成 OTA 失敗, 不推薦使用 :(

2014-06-04 Updated:
經網友指正, 其實只要供電沒問題, 就算沒 root 也可使用, 目前可以搭配下列軟體:
OTG Disk Explorer Lite # 讀取較大檔案需付費版本
Nexus Media Importer
不過介面上還是 root 搭配內建檔案管理員比較方便, 看個人喜好囉.

ZenFone 所使用的 Intel solution 其實有支援 OTG, 但無奈 ZenFone 的板子可能出於成本考量, 又或者上層實作需要多一些時間, 所以少拉幾條線 (推測) 以致於無法對外接 USB 裝置供電, 導致無法讀取隨身碟 (最多人想要的功能) 這邊就不談 OTG 的原理與應用, 直接來看怎麼讓 ZenFone 可以讀隨身碟吧.

Continue Reading →

有網友提到 ZenFone 系列只提供 MTP 讓電腦使用,如果想要把檔案丟到 SD 卡就得很麻煩的拆開背蓋拿出 SD 卡放入讀卡機,接上電腦搬移檔案完成之後再把 SD 卡裝回去..

如果手機有 ROOT 也會 adb 操作,執行下面的步驟就可以讓 ZenFone 接上電腦時變成 SD 卡的讀卡機 (隨身碟):

echo 0 > /sys/class/android_usb/android0/enable
echo mass_storage,adb > /sys/class/android_usb/android0/functions
echo /dev/block/mmcblk1p1 > /sys/class/android_usb/android0/f_mass_storage/lun/file
echo 1 > /sys/class/android_usb/android0/enable
setprop sys.usb.config mass_storage,adb
setprop sys.usb.state mass_storage,adb

如果想要切回 MTP,執行下面的指令即可:

echo 0 > /sys/class/android_usb/android0/enable
echo mtp,adb > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
setprop sys.usb.config mtp,adb
setprop sys.usb.state mtp,adb

唯一的問題:如果手機重開機或者退出裝置就得重新下一次指令.. 所以我包了一個小程式解決這個問題,除了執行上面的指令,另外聽兩組 Intent:android.intent.action.BOOT_COMPLETED & android.hardware.usb.action.USB_STATE,前者可以讓程式在手機剛開完機時執行命令,後者可以告知目前 USB 的狀態,決定是否要重新寫入設定。

0.3 版下載 :http://goo.gl/Vfvc54

用法很簡單,裡面只有一個按鈕:啟用或者停用大量儲存裝置的功能。之後只要接上 USB 傳輸線連接到電腦,就會出現隨身碟囉。

整理一下目前已知可行的方法:

方法一:

  1. 手機降版本至 1.18.40.10 之前的版本
  2. 進入 recovery 做一次 wipe data (factory reset)
  3. 使用 RootZeonFone 進行 root
  4. 透過 recovery sideload OTA 升級包 或者將 OTA 升級包丟入 SD 卡中的方式升級至 4.4

方法二:

  1. 手機不透過官方 app 解鎖
  2. 刷第三方 recovery
  3. 進入 recovery 刷 root (SuperSU or SuperUser)
  4. 刷回原先的 recovery 並上鎖 (optional 不一定要做)

都需要大量手動操作,沒有簡單的方式,第二種也許可以整理出一鍵點擊 root 在電腦上執行的小程式,我會找時間再弄弄看,或者有網友願意打包,畢竟工具都已經公開,只差串起來的腳本程式。 :)

2014-08-30 Update: 原廠 recovery 提解出來,可以免 root 降版囉

2014-07-20 Update: 補上 fastboot 步驟,抱歉少了這一步是無法修改 recovery 的 ^^

這一版的升級做了一個不算小的修改:在 recovery 的 default.prop 將 ro.build.date.utc 的數值調小:

ro.build.date.utc=12684704

這樣的修改會導致手機無法降版,因為目前官網上抓下來的 ROM file 裡面的 script 最前面這麼寫:

assert(greater_than_int(getprop("ro.build.date.utc"), 1392739200));

雖然應該沒多少人喜歡換版本,但這邊還是筆記一下退版的方法,root 限定。又因為這樣的退版如果沒處理好可能導致之後無法升級軟體版本,我就只講方法不做懶人包了。:P

- 下載舊版 (比如 1.14.40.50) 的 ROM file,解開後在 recovery 目錄下找到 boot.img,recovery-from-boot.p 與 etc/install-recovery.sh
- 透過 fastboot 刷入 boot.img (fastboot flash boot boot.img)
- 修改 install-recovery.sh,把 /system/recovery-from-boot.p 換成 /data/local/tmp/recovery-from-boot.p
- 將這兩個檔案透過 adb push 到 /data/local/tmp
- 進去手機以 root 執行 install-recovery.sh

接著就可以依照原先的方式降版了。

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

操作必須知道的基礎知識

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

透過 recovery 刷回原廠 ROM 的方法

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

Continue Reading →

如果你有裝 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, 收工 !

[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 可用。 :)