2022-11-10

2022-11-10

FlyPie & Mat

  • Q: 什麼是 FRP?
    • https://www.samsung.com/nz/support/mobile-devices/what-is-google-frp/
  • Q: 如何跳過 Android 的 FRP (Factory Reset Protection) ?
    • https://www.youtube.com/watch?v=rqTfx8WkSro
  • Q: 查出對應型號
    • Model: TB-8504F
    • Production Name: “Lenovo Tab 4 8”
  • TWRP: https://forum.xda-developers.com/t/twrp-and-root-for-tab-4-8-10-plus-tb-8704x-f-v-tb-x704l-f-tb-8504x-f-tb-x304l-f.3664407/
  • LinesgeOS 18.1:
    • 刷機指令參考自:
      • https://forum.xda-developers.com/t/twrp-and-root-for-tab-4-8-10-plus-tb-8704x-f-v-tb-x704l-f-tb-8504x-f-tb-x304l-f.3664407/
    • image file:
      • https://forum.xda-developers.com/t/rom-unofficial-11-tb8504f-x-lineageos-18-1-for-lenovo-tab4-8.4316701/
      • 注意: 因為 model name 的差異,所以需要打 patch 如下:
--- ./META-INF/com/google/android/updater-script.orig	2022-11-10 23:44:27.116433091 +0800
+++ ./META-INF/com/google/android/updater-script	2022-11-10 21:12:03.613775716 +0800
@@ -1,8 +1,9 @@
 assert(getprop("ro.product.device") == "TB-8504X" || getprop("ro.build.product") == "TB-8504X" || 
        getprop("ro.product.device") == "TB-8504F" || getprop("ro.build.product") == "TB-8504F" || 
        getprop("ro.product.device") == "tb-8504x" || getprop("ro.build.product") == "tb-8504x" || 
+       getprop("ro.product.device") == "tb_8504x" || getprop("ro.build.product") == "tb_8504x" || 
        getprop("ro.product.device") == "tb-8504f" || getprop("ro.build.product") == "tb-8504f" || 
-       getprop("ro.product.device") == "tb_8504" || getprop("ro.build.product") == "tb_8504" || abort("E3004: This package is for device: TB-8504X,TB-8504F,tb-8504x,tb-8504f,tb_8504; this device is " + getprop("ro.product.device") + "."););
+       getprop("ro.product.device") == "tb_8504" || getprop("ro.build.product") == "tb_8504" || abort("E3004: This package is for device: TB-8504X,TB-8504F,tb-8504x,tb_8504x,tb-8504f,tb_8504; this device is " + getprop("ro.product.device") + "."););
 ui_print("Target: Lenovo/TB-8504X/TB-8504X:8.1.0/OPM1.171019.019/8504X_S001031_191204_ROW:user/release-keys");
 package_extract_dir("install", "/tmp/install");
 set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);

adb sideload lineage-18.1-20221022-UNOFFICIAL-TB8504_patched.zip,卡在下述訊息而沒有進一步動靜:

Patching system image unconditionally...

據論譠找到一些可能的解法:

  • 可能1: 跟 filesystem format 有關,在指令執行前,先作一次 wipe data 或 factory reset 可解
  • 可能2: 跟 lineageos image 本身有關,換個 image 就好
  • 可能3: 跟 ROM image size 有關,好像要超過某個 size 才會 pass.

  • Q: 關於為何 adb sideload 輸入的是 zip 檔,而非 .bin 或是 .img 檔?
    • Mat 有寫一篇 blog 說明這個問題: https://6bcf7279.info/2022/10/11/d41d8cd9/