新項目是一個基於android4.2設備。剛拿到demo板時就對聯機互調感興趣了。處於以前在S3c2440上對linux的移植使用經驗。心里猜測對於android設備應該也這樣。所以通過搜索資料整理如下簡單步驟,方便自己記憶。
本例結合Linux開發主機與Amlogic-8726MX運行Android4.2為例說明步驟:
對Android比較熟悉的開發人員,對adb通過USB(USB連接Android設備)調試Android設備應該不會陌生,因為大部分資料都是這樣做的。但是假如你的Android設備沒有USB口,只有網口,能不能調試呢?答案是肯定的。adb怎樣通過tcp/ip來調試Android設備。adb早期版本只能通過USB來對設備調試,從adb v1.0.25開始,增加了對通過tcp/ip調試Android設備的功能。
如果你想adb通過tcp/ip來調試設備,必須要滿足如下條件:
1、設備上面首先要有網口。
2、設備和研發機(PC機)已經接入局域網,並且設備設有局域網的IP地址。
3、要確保研發機和設備能夠相互ping得通。
4、研發機已經安裝了Android SDK(要確保SDK版本是2.0之后的版本)。(確保有相應的環境變量,adb在sdk的platform-tools目錄下,所以要將platform-tools所在地路徑)
5、檢查研發機上的adb的版本,是否是1.0.25之后的版本。方法就是在shell中敲入adb,回車,顯示幫助,第一行就是adb版本信息,如上面所示。
6、確保Android設備中adbd進程(adb的后台進程)已經運行。adbd進程將會監聽端口5555來進行adb連接調試。
本文假設設備的ip為192.168.0.183,下文將會用這個IP建立adb連接,並調試設備。
1、首先Android設備需要先啟動,如果可以話,可以確保一下adbd啟動。
在Android設備的串口終端中輸入:
stop adbd
start adbd
2、在研發機中,輸入:
adb connect 192.168.1.5:5555
adb kill-server
adb disconnect 192.168.1.5:5555
如果連接成功會進行相關的提示,如果失敗的話,可以先kill-server命令,然后重試連接。
3、如果連接已經建立,在研發機中,可以輸入adb相關的命令進行調試了。比如adb shell,將會通過tcp/ip連接設備上面。和USB調試是一樣的。這里就不多說了。
4、調試完成之后,在研發機上面輸入如下的命令斷開連接:
這樣就通過TCP/IP完成了對Android設備的調試。
附常用adb命令:
安裝軟件 adb install apk文件名稱.apk
重新安裝該軟件 adb install -r apk文件名稱.apk
卸載apk軟件 adb uninstall apk包名.apk
查看設備上的運行日志,此項可以用來查錯 adb logcat
查看手機是否連接,以及連接了幾台設備 adb devices
進入手機的超級終端Terminal adb shell
重新掛載文件系統 adb remount
重啟手機 adb reboot
重啟到Recovery界面 adb reboot recovery
重啟到bootloader界面 adb reboot bootloader
映射出目錄 mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
退出su exit
退出shell准備接受下一個adb命令 exit
增加flash_image文件到手機上
adb push flash_image.zip /system/bin/flash_image recovery先復制到卡上
adb push recovery-RA-heroc-v1.6.2.img /sdcard 再次進入adb環境 adb shell
修改文件屬性 chmod 0755 /system/bin/flash_image
重啟系統 reboot