Android基本除錯方法

2021-07-04 09:24:40 字數 2062 閱讀 3501

一. eclipse模擬器的除錯

1. 基本方法:斷點+單步

①快捷鍵與vc有差別

debug:f11

加斷點:shift + ctrl + b

step into: f5

step over: f6

resume: f8

②可以選擇裝置,模擬器和真機都可以使用

2. 高階:ddms使用

①功能強大

可以進行手機螢幕截圖、檢視檔案系統、看log等。

②模擬器可以模擬打**、發簡訊等基本功能

1. target的編譯

./mk -h:幫助

./mk -lp:列出所有可編譯的工程

./mk sp6820 n:new

./mk sp6820 u [modules]:編譯模組

./mk sp6820 u adr ***/***:編譯指定路徑下的模組

通過長按「home」鍵和「power」鍵,當手機屏上出現「fastboot mode」字樣時,即進入了fastboot模式,連線電腦,執行如下命令:

sudo ./fastboot devices:列出所有連線上的裝置

sudo ./fastboot erase partition_name :擦除相應模組

sudo ./fastboot reboot:重啟手機

模組及對應.bin或.img檔案如下所示:

2ndbl ----------- u-boot.bin

params----------- u-boot parameters

boot ------------ boot.img

recovery -------- recovery.img

system ---------- system.img

userdata -------- userdata.img

三. target的除錯

1.準備工作

①拷貝adb到usr/bin目錄下,並修改可執行許可權

sudo cp /home/apuser/6810_ts_code/out/host/linux-x86/bin/adb /usr/bin

sudo chmod a+x /usr/bin/adb

② 建立spreadtrum usb 專有vid

命令:[ -d ~/.android ] || mkdir ~/.android; echo 0x1782

>~/.android/adb_usb.ini

可以檢視/home/apuser/.android/adb_usb.ini是否生成成功,且內容為0x1782

③ 執行adb shell,看能否連線上手機

④ 如果發生3 中的錯誤,則需要新增列表到:/etc/udev/rules.d/51-android.rules

命令:cd /etc/udev/rules.d

sudo vim /etc/udev/rules.d/51-android.rules

新增subsystem=="usb", sysfs=="1782", mode="0666"

2. adb使用

①  基本命令

adb help:幫助

adb devices:列出所有裝置

adb shell:使用裝置上的shell, 檢視裝置檔案系統,建議使用ash,有自動補齊功能

adb push:將電腦上的檔案傳到裝置上

adb pull:將裝置上的檔案傳到電腦上

② log抓取

**中使用log.v() log.d() log.i() log.w() and log.e()等介面來輸出android log,

使用printk來輸出kernel log。

連線adb shell後,使用如下命令抓取log

dmesg >/data/anr/kernel.log :開始抓kernel log

logcat *:v >/data/anr/android.log :開始抓android log

按ctrl+c停止輸出log後,

adb pull /data/anr ./log/ :將android.log和kernel.log 傳到電腦上的log資料夾

Android除錯方法大全

寫 是每個程式設計師最樂意做的事,然而在開發中也會遇到很多令程式設計師很頭疼的事情。如果說讓程式設計師最頭疼的事情是看到無數bug 軟體的發布遙遙無期,那麼讓程式設計師最最頭疼的事情是程式在除錯狀態下沒有問題然而在實際執行中確有問題。除錯程式是每個程式設計師工作中必不可少的部分,而且可以毫不誇張地說...

android 工程除錯方法

廢話不多說,直接來幾種除錯模式,給大家,看看你用過沒!第一種,也就是寫乙個全域性的log方法,並傳乙個布林引數,true 列印 false 不列印。這樣發布apk 的時候,所有的涉及到log的部分都可以去掉,相信很多人都這麼用的。第二種,是debug。這也是在工程感覺資料不對,或者 沒有執行的時候操...

android 多個構造方法除錯

android 框架中有很的過載的構造方法,有些情況是每個構造方法中有特定的情況,這是由框架來進行控制的,以前以為構造方法都是將引數少的在引數後面不引數,最終都是呼叫引數多的構造方法,今天遇到錯誤,android 中的構造方法他是進行判斷的,在特定的情況下之呼叫乙個,三個方法是不相關的 如 publ...