Android 手機解鎖後,如何使用指令進入fastboot模式,並且刷入recovery
Android 手機必須解鎖(unlock)後,才能刷入第三方recovery軟體
步驟如下:
adb reboot bootloader fastboot flash recovery <recovery.img> fastboot boot <recovery.img>
ps. linux 須先進入 root
Android 手機必須解鎖(unlock)後,才能刷入第三方recovery軟體
步驟如下:
adb reboot bootloader fastboot flash recovery <recovery.img> fastboot boot <recovery.img>
ps. linux 須先進入 root
咖啡偶手機小米6原本刷成 LineageOS 15.1 , 但後來為了使用NFC-SIM 悠遊卡 , 只好捨去 LOS , 改刷成小米國際版, 這個版本可以讓NFC功能從Google Pay的HCE功能, 切換 SIM 錢包(也就是nfc-sim)功能.
但是問題來了, 我認為 NFC 平常要關閉,
原本 LOS 15.1內建快速切換工具, 滑下來按一下就可以啟用與停用.
但小米的國際版本不行, 只能選來選去然後停用, 因此寫了一隻小工具widget (需要ROOT) , 按一下就可以方便的啟用與停用, 有興趣可以點選這裡參考看看.
#android
#taiwan
#nfc
ubuntu連線到android裝置很方便, 安裝程式很簡單:
sudo apt install android-tools-adb android-tools-fastboot
但是常常卡到執行指令 adb devices 想要列出手機時, 出現 no premissions的錯誤
List of devices attached ???????????? no permissions
原來是要設定usb連線權限
1. 找出google 的裝置
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bus 001 Device 002: ID 05c8:03a2 Cheng Uei Precision Industry Co., Ltd (Foxlink) Bus 001 Device 006: ID 18d1:4ee7 Google Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2. 將該device加到 /etc/udev/rules.d/70-android.rules
70代號可改, 無此檔案也可自行新增
新增內容如下:
SUBSYSTEM=="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="4ee7",MODE="0666"
3. 重開
sudo /etc/init.d/udev restart
4. 拔掉usb線, 讓手機重新接受電腦連線
PS.
手機不同狀態下(sideload , recovery , system) 都可能有不同的usb id
咖啡偶的目前手機是小米6, 因為常常刷機, 版本差異又大,每次刷機,必須重新格式化手機,
因此會用到usb otg, 把要刷的rom放到usb磁碟上, 當手機進入 recovery 的時候, 就可以放心格式化手機, 並且把usb上的rom刷入手機.
但是這方式有點麻煩,需要準備平時也用不著的usb ota,
所以很久以前android就發展sideload的方式刷機, 電腦直接刷rom進去手機, 這就方便多了.
1.手機進入recovery的sideload等待畫面
2.電腦使用adb sideload 指令刷入rom
請參考紅色部份
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
...>
<textview ...> app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" </textview> </ConstraintLayout>
關於藍芽SDP UUID解釋
需要到 www.bluetooth.org 裡面尋找有關 Service Discovery Protocol訊息
https://www.bluetooth.org/Technical/AssignedNumbers/service_discovery.htm
裡面提到 UUID分成BASE UUID 128bits 與 SHORT UUID(32bits, 16bits)
BASE UUID 格式如下:
00000000-0000-1000-8000-00805F9B34FB
SHORT UUID 再分成 UUID32(2的32次方) 與 UUID16(2的16次方)
UUID32 、UUID16 都是短款的格式
為了相容以往舊款 SDP UUI D格式
在BASE UUID前32bits即是UUID32 , 接下來16bits即UUID16
因此重看BASE UUID:
00000000-0000-1000-8000-00805F9B34FB
桃紅色加上綠色為UUID32, 綠色為UUID16
接下來我們想要使用程式註冊SPP, 透過serial port連線,
根據 www.bluetooth.org 的規範, 須將UUID改成
00001101-0000-1000-8000-00805F9B34FB