如何使用ADB

From BananaPro/Pi
Jump to: navigation, search
This page is a translated version of the page How to use ADB and the translation is 96% complete.

Other languages:
English • ‎中文(简体)‎

安装

Windows系统

网上下载下载最新版本的Android SDK并安装到你的windows PC上。
ADB工具在这个目录下:adb\platform-tools

Linux系统

安装ADB

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb

确认当前用户在plugdev组内

sudo usermod -a -G plugdev [当前用户名]

查看设备

通过USB3.0线把LeMaker Guitar连接到你的Linux电脑上,在命令行下输入lsusb查看设备,如下图所示:
Adb-lsusb.png
可以看到LeMaker Guitar的设备ID号为10d6:0c02。

创建文件51-android.rules

在/etc/udev/rules.d 目录下创建文件51-android.rules,并写入以下内容:

SUBSYSTEM=="usb",ATTR(idVendor)=="12d1", MODE="0666", GROUP="plugdev"

然后更改文件权限:

chmod a+r/etc/udev/rules.d/51-android.rules

Restart udev

sudo udevadm control --reload-rules
sudo service udev restart

Unplug and replug the guitar.

创建文件adb_usb.ini

在~/.android目录下创建文件adb_usb.ini并向其中写入LeMaker Guitar的设备ID号,然后更改文件权限。

echo 0x10d6 > ~/.android/adb_usb.ini
chmod 755  ~/.android/adb_usb.ini

重启ADB

重启ADB:

adb kill-server
adb start-server

运行以下命令查看ADB设备列表:

adb devices

使用ADB

Guitar上的操作

在Guitar上打开ADB调试功能

(A) 打开开发人员选项 点击Settings的About tablet选项,如下图:
Adb-1.jpg
然后连续单击至少6下Build number选项,完成上述操作以后会出现Developer options选项,如下图: Adb-2.jpg
(B) 打开ADB Debug功能
进入Developer options选项并打开USB debugging:
Adb-3.jpg

两种ADB调试方式

(A) 网络ADB调试方式
在命令行中输入以下指令:

adb connect [IP Address of Guitar(default port:5555)]

查看LeMaker Guitar的IP:
Adb-4.jpg
(B) USB ADB调试
用OTG线把Guitar和电脑连接,出现以下正确连接的现象:
Adb-5.jpg
正确连接以后在电脑端安装个类似手机助手之类的软件(Linux下不需要),待其正确识别“手机”后就可以正常使用ADB工具了。

ADB常用命令

显示系统中全部的Android平台:

android list targets

显示当前运行的全部ADB设备:

adb devices

安装App:

adb install -r App.apk

卸载App:

adb uninstall <the main package name of apk>

获取LeMaker Guitar中的文件:

adb pull <local path> <remote path>

向LeMaker Guitar中发送文件:

adb push <remote path> <local path>

在命令行中查看log信息:

adb logcat (-s label)

获取root权限:

adb root

查看bug报告:

adb bugreport


使用ADB调试

调试内核

(a) 在kernel源代码目录下对代码进行修改

(b)编译kernel,生成的二进制文件在目录android\kernel\arch\arm\boot 下uImagə

(c)通过adb工具将kernel镜像uImage推送到开发板的/misc分区下

     $ adb push uImage /misc
     $ adb shell sync            //确认文件已经写到磁盘

如果在使用的过程中push时出现如下错误

     D:\>adb push boot.img /misc
     failed to copy 'boot.img' to '/misc/boot.img':Permission denied

此时执行如下命令

     $ adb root       #让开发板端的adb以root用户登陆
     $ adb shell mount –o rw, remount /misc  

说明:因为misc分区是只读分区,需要通过此命令让分区对root用户变得可写,否则adb push写分区时会报错 然后再重新adb push kernel镜像到开发板misc分区下

(d)重启系统

$ adb shell reboot

(d)系统重启后运行的内核即是上面步骤更新后的kernel镜像

调试驱动

(a)如果待调试的驱动是和kernel编译在一块,则直接编译内核进行调试即可,如果编译成模块,则使用本节描述的步骤

(b)进入相应driver的目录修改驱动模块代码

(c)编译驱动模块

  $ cd  ($sdk_root)/android
  $ ./autobuild.sh  modules

生成的二进制文件就在驱动源代码所在的目录或在 android\owl\out\s500_android_gb5_wxga\misc\modules 下

(d)将驱动的ko文件推送到开发板的/misc/modules目录下

    $ adb push xxx.ko  /misc/modules
    $ adb shell sync

(e)卸载当前使用的模块

    $ adb shell rmmod xxx
    $ adb shell insmod xxx.ko
    或者重启
    $ adb shell reboot

(f)然后再运行测试