Posts match “ android ” tag:

分享一下個人打包給 Genymotion 使用的工具軟體,方便開發者或玩家從 Play Store 下載 apps or games,包括:

  • ARM Translation (5.x & 6.x)
  • Google Apps (5.0, 5.1, 6.0) 裡面的檔案主要是設定 Google Account 與 Play Store,打包自 Open GApps Project pico 版。
  • SuperSU 2.65 版

直接丟入模擬器的視窗,依照指示按 OK 鈕,重開即可使用。

檔案在這:https://mega.nz/#F!JhcFwKpC!yfhfeUzvIZoSdBgfdZ9Ygg

年初買的 Remix Mini 在 root 完沒幾天後就被我搞掛了,而且很不幸的是寫信問原廠有沒有 Stock ROM 或者 factory image 可以讓我還原,結果跟我說不提供這種東西,當下只覺得 WTF ..

不過就在最近! 官方終於釋出相關檔案與步驟: How to flash Remix OS img file onto Remix Mini 馬上拿出塵封已久的機器,並且下載相關的檔案準備回魂我的 Remix Mini。其實步驟很簡單:

1. 安裝 [PhoenixSuit](https://www.dropbox.com/s/x7mnzui95c4459z/PhoenixSuit_EN_V1.0.8.msi?dl=0) 與下載 Factory Image [factory_image_rm1g_B2016110301-secure.img](https://osdn.net/projects/remixos/downloads/66607/factory_image_rm1g_B2016110301-secure.img/)
2. 開啟 PhoenixSuit 選擇 factory image
3. 把 Remix mini 開到刷機模式,我是按著 reset 後插入電源開機,程式會自動偵測到裝置並且開始刷入檔案

呃,不過我一直卡在刷到 54% 左右就跟我說錯誤的狀況.. 心想該不會我的 Remix Mini 已經嚴重到連刷機模式都無法救回了嗎?不死搜尋一下網路,最後在 http://linux-sunxi.org 找到 LiveSuit 的 Mac 版本,同樣的步驟居然可以成功刷入 ! 看來應該是驅動有問題,不過既然機器救回來了有空再找找看吧。過幾天有空再來試試看 root & xposed 有沒有辦法刷入.. :)

前幾個星期趁著 1111 特價買了一台 Surface Pro 4 (最低階的) 一部分原因是想要在 Windows 平台上測試一些刷機工具,果然就讓我碰到惡名昭彰的 adb sideload 時出現 cannot read 的問題,稍微花了點時間研究一下,最後追到死在 malloc 那邊。

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 拖到模擬器視窗中,讓他自動安裝。
  • 完成後重開模擬器即可。

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 →

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 後最好能執行一次恢復原廠設定

手機解鎖後刷自製的 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 →

PadFone S 是華碩即將在台灣上市的 LTE 平板手機,會提到台灣是因為它在國外已經開賣,型號為 PadFone X,合約價 199 美金,單機 + 平板為 549 美金,如果沒看錯的話這價格相當殺。小弟有機會拿到實機把玩,在這邊跟大家分享玩機心得 :)

簡單的規格表如下:

  • Qualcomm S800 2.3GHz 的 CPU
  • 2GB RAM 與 16GB ROM,MicroSD 最大支援 64GB
  • 手機螢幕 5 吋 1080p (1920x1080) 平板 9 吋 1920x1200
  • 手機內建電池 2300mAh, 平板內建電池為 4990mAh
  • 1300 萬相機與 200 萬視訊鏡頭
  • 4G LTE 全頻, 台灣所有的電信商系統皆可使用
  • NFC / Qi 無線充電
  • IPX2 防潑水, 防150cm摔落鋼板設計 (手機本體)
  • Micro SIM 卡
Continue Reading →

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 →

網路上已經有 4.4.2 (XNPH25R) 升級到 4.4.4 (XNPH30O) 的 OTA update package,只是某些人 (如我) 抓回來想要升級,卻發現一堆檔案 checksum error,這是怎麼一回事呢?

原來我的 OnePlus One 上面裝的 XNPH25R 是官網上沒有列出來的版本 cm-11.0-XNPH25R-bacon-signed.zip(不想 unlock bootloader)而這個檔案其實與 cm-11.0-XNPH25R-bacon-signed-fastboot.zip 的內容不一樣,前者的 ro.build.version.incremental 為 ee8b63c489,而後者的是 d22b777afa,以至於無法套用目前流出的 OTA update package。

所以如果想早點升級到 XNPH30O 該怎麼做呢?

That's it :)

有網友提到 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 傳輸線連接到電腦,就會出現隨身碟囉。

有人覺得 ZenFone 的實體按鈕沒有背光不方便,這邊提供一個顯示 Navigation Bar 的方法,只是有點擠..

mount -o rw,remount /system
echo qemu.hw.mainkeys=0 > /system/default.prop
chmod 644 /system/default.prop

重開機之後可以看到

4.3 (?) 因為某次 exploit 之後,對 property 的管制變嚴了,導致 /data/local.prop 無法設定某些值,還好 /system/default.prop 仍然可用,在不修改 /system/build.prop 的前提下,可以把一些設定塞到這邊。

Reference: https://android.googlesource.com/platform/frameworks/base/+/master/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

之前發在 Mobile01,轉回來做個記錄..

不少網友 OTA 更新失敗都是因為 Root 後就把系統檔案修改或者刪除,這邊提供一個標準還原流程。(因為已經被問到爛了)

  • 下載符合手機版本的原廠 ROM
    ZenFone 5 請到這邊找 http://www.asus.com/tw/Phones/ASUS_ZenFone_5/HelpDesk/
    ZenFone 6 請到這邊找 http://www.asus.com/tw/Phones/ASUS_ZenFone_6/HelpDesk/
    從 驅動程式及工具程式 進去, 選 Android 就可以看到一堆列表.

  • 解開下載的檔案,會得到格式如下的壓縮檔:

    UL-ASUS_T00?-$$-#.##.##.#-user.zip
    

    如果手機是 ZenFone 5,? 為 F 或 J;如果手機是 ZenFone 6,? 為 G。
    $$ 代表區域,可能是 TW (台灣版),CHT (中華客製版),CN (中國版)或 WW (全球版),注意要跟手機的版本一樣。
    而 #.##.##.# 為版號,也要跟手機的版本一致。

  • 把剛剛下載回來的檔案,版號的部分 (#.##.##.#) 改為 10000,所以會產生類似 UL-ASUS_T00F-TW-10000-user.zip 這樣的檔案名稱。

  • 手機透過 usb 傳輸線連接到電腦,在檔案總管可以找到 ZenFone 的內部儲存空間,把檔案丟進去。

  • 傳輸完畢,先 unroot。

  • 拔開傳輸線以後,會出現升級提示,確認手機電力充足,按確定即可重置作業系統,這個動作不會清除手機資料。

  • 還原完畢,root 後等 OTA 更新出來,按保留 root 接著套用更新。如果安裝新版的 Root ZenFone 直接啟用 OTA 生存模式,再套用更新即可。

然後再一次呼籲,root 後不喜歡的內建軟體可以停用,但不要刪除否則 OTA 更新一定會失敗。至於什麼 Lucky patcher 會改到 framework 的鬼東東,除非你意識清楚否則 OTA 更新一定會失敗

這次就不包懶人 app 了,需要 root,主要的邏輯在 enabler.sh,基本上沒啥傷害 (?)

  • 先抓 sqlite3 binary for Android
  • 再抓從電腦執行的前導程式 go.bat,裡面只有 adb command 而已。
  • 最後是主要啟用的腳本檔 enabler.sh,裡面做的事情很簡單:修改 Play Service 的 database 開啟使用 Chromecast Screen Mirroring 的旗標。

所以東西都抓下來後,執行 go.bat 就好了。聽說有些 Samsung 的機器不能跑,不過我手上也就這麼多台手機,有 Chromecast 但手上的裝置不再官方支援列表的就自行參考看看吧。

記錄一下, 整理 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 →

今天 ZenFone 5/6 更新到 4.4.2,雖然已經 root 的機器升級後 root 還在,但已經確認華碩在 4.4.2 的升級修補了 RootZenFone 所使用的漏洞。

log 在此:

W/BroadcastQueue(  574): Permission Denial: broadcasting Intent { act=asus.intent.action.INSTALL_DEMOAPK flg=0x10 } from com.asus.LogTool (pid=3038, uid=10136) requires asus.permission.CALL_DEMOAPP due to receiver com.asus.livedemoservice/.receiver.LiveDemoReceiver

目前暫時沒有時間開發新的 root 程式,如果你用過 RootZenFone 這支 app 覺得對你幫助很大,也希望我能繼續開發新的 root 程式,可以透過 Paypal 贊助研發經費。 :)