在調試recovery更新模式的時候,如果沒有好的調試方法,非常的耗時,效率十分低下,下面介紹下再recovery模式下如何開始調試。
1:首先使用 make recoveryimage這種指令對recovery.img進行編譯,編譯成功後,直接使用dd指令導入recovery.img進入手機。
具體操作如下:
adb push recovery.img ./sdcard/
adb shell 進入系統:
dd if=/sdcard/recovery.img of=/dev/block/by-name/recovery
reboot
這樣recovery的修改就生效了,如果還不行,可以嘗試将boot.img也導入進去。
2:recovery更新後,會在cache/recovery/中生成last_log檔案,可以将recovery中的檔案導出來,檢視報錯資訊。
在recovery中可以使用printf的列印發送,添加列印後,在last_log檔案中輸出。
例如:printf("update_package = %s\n",update_package);
3:如果在java層調試,需要擷取檔案路徑,可以使用如下方法:
String filename = packageFile.getCanonicalPath();
String filename1 = packageFile.getPath();
String filename2 = packageFile.getAbsolutePath();
Log.w(TAG, "!!! Rebootting filename1" + filename1 + " filename2=" +filename2);