Linux中使用USB ADB命令的方法 (u adb linux命令)

Android Debug Bridge(ADB)是一个调试工具,可以用于在计算机和Android设备之间进行通信。ADB可以让开发人员轻松地在Android设备上操作,例如安装应用程序和访问文件系统。而在Linux中使用USB ADB命令,进一步简化了这个过程。在本文中,我们将介绍如何在Linux系统中使用USB ADB命令。

安装必要的软件

在开始使用USB ADB命令之前,您需要在Linux系统上安装Android工具包(Android SDK)。Android工具包是一个专门为Android开发者提供的开发工具包,其中包含了许多实用工具,例如ADB、fastboot等。您可以从官方网站下载并安装该工具包。

下载完Android SDK后,需要将其解压缩并添加到系统路径中。此外,您还需要在Linux系统上安装Java运行环境(JRE)。您可以从官方网站下载并安装JRE。

启用USB调试

在使用USB ADB命令之前,还需要在Android设备上启用USB调试。要启用USB调试,请进入Android设备的设置菜单,选择“开发者选项”,然后开启“USB调试”选项。

连接Android设备

将Android设备连接到Linux系统时,需要一个USB连接线。连接完成后,在Android设备上会弹出一个提示,提示您是否允许该计算机访问设备。请点击“允许”按钮。

在Linux系统中使用ADB命令

一旦您已经安装好所需的软件,打开命令行终端,使用以下命令将Android设备连接到Linux系统:

adb devices

此命令用于列出与Linux系统连接的所有Android设备。如果连接成功,您将看到类似以下内容的设备列表:

List of devices attached

emulator-5554 device

xx device

其中“emulator-5554”表示模拟器设备,“xx”是您的Android设备名称。如果设备名称为“unauthorized”,则需要在Android设备上重新启用USB调试。

在Linux系统中使用ADB命令时,您可以使用一系列ADB命令来控制和操作Android设备。

以下是一些常用的ADB命令:

– adb install : 用于安装在Linux系统上使用ADB命令时下载到计算机上的应用程序。请将“”替换为应用程序文件名。

– adb uninstall : 用于从Android设备卸载应用程序。请将“”替换为应用程序软件包名称。

– adb shell: 用于在Android设备上打开命令行终端。通过此命令,您可以执行各种命令和操作设备。

– adb push : 用于从Linux系统上将文件拷贝到Android设备上。请将“”替换为Linux系统上本地文件的路径,“”替换为Android设备上的远程路径。

– adb pull : 用于从Android设备上将文件拷贝到Linux系统上。请将“”替换为Android设备上远程文件的路径,“”替换为Linux系统上本地路径。

相关问题拓展阅读:

Ubuntu下adb的使用及常见问题处理

Ubuntu下adb的使用及常见问题处理

方案一:使用

ubuntu系统

自带的

安装包

sudo apt-get install android-tools-adb

或者

sudo apt-get install adb

方案二:使用Android源码编译生成的adb文件

Android源码编译完成之后,会在编译迟蠢过的项目目录下./out/host/linux-x86/bin/生成adb文件,需要将其拷贝到系统的/usr/bin目录下,谈猜并码侍陪更改权限。

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

sudo chmod a+x /usr/bin/adb  

说明:这个adb文件也可以在android-sdk-linux下的platform-tools目录下找到。

在终端运行 adb help或者adb查看adb是否安装成功。

adb help

或者

adb

正常情况下,可看到adb的版本信息,以及adb支持的相关指令和说明。

mkdir~/.android

echo 0x1782 > ~/.android/adb_u.ini

可以查看/home/apuser/.android/adb_u.ini是否生成成功,且内容为0x1782

这个0x1782是设备的VID号,可以使用lsu指令查询自己设备的VID号是多少,如果是调试多个设备,可依次将设备的VID号添加到adb_u.ini中

备注:

展讯

为0x1782,MTK为0x0e8d,

高通

为0x056c

到:/etc/udev/rules.d/51-android.rules命令:

cd /etc/udev/rules.d  

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

添加

SUBSYSTEM==”u”,SYSFS{idVendor}==”1782″, MODE=”0666″,GROUP=”plugdev”

其中 1782 为展讯设备号,也可以通过lsu 来查看所有 u 设备。

说明:

1、展讯的设备号是1782,MTK的设备号是0e8d,高通660的设备号是056c,

其他平台的可查找确认后,填写到这里。

2、如果没有/etc/udev/rules.d/51-android.rules 文件,需要自己创建一下。

3、修改/etc/udev/rules.d/51-android.rules不需要重启Linux机器,重新插拔一下设备就可以了。再次运行adb devices就可以看到你的设备已经连接。

在命令窗口执行adb shell; adb devices

可以shell登录手机,也可以出 log, logcate 具体命令还需要学习。

使用上文的步骤操作之后,大多数系统里adb都可以使用,但在有些版本的adb或者系统中仍会报如下问题:

apuser@ubuntu2:~/adbtools$ adb devices

List of devices attached

faf80ac1  no permissions (user in plugdev group; areyour udev rules wrong?); see 

>

可使用一下解决方案,进行解决

解决方案:

setp 1: lsu 找到你手机的u 地址

apuser@ ubuntu2:~/adbtools$ lsu

Bus 002 Device 002: ID 1f75:0621 Innostor Technology Corporation

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 006: ID 0bda:58db Realtek Semiconductor Corp.

Bus 001 Device 005: ID 8087:0a2b Intel Corp.

Bus 001 Device 004: ID 138a:0097 Validity Sensors, Inc.

Bus 001 Device 003: ID18f8:0f99 

Bus 001 Device 014: ID 19d2:ffb0 ZTE WCDMA Technologies M

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

他会列出来所有的u 设备。如果试下找不到,那么拔掉设备看下,哪了没有了就是哪个。

setp2: 配置规则文件

apuser@ ubuntu2:~/adbtools$ sudo gedit /etc/udev/rules.d/51-android.rules

password for apuser:

之后把这些文本copy 到编辑器里面:

ATTR{idProduct}==”ffb0″,SYMLINK+=”android_adb”, MODE=”0660″,GROUP=”plugdev”, TAG+=”uaccess”, SYMLINK+=”android”

注意:ffb0 是查找到的手机设备的u 的地址。

Bus 001 Device 014: ID 19d2:ffb0 ZTE WCDMATechnologies M

改成你的地址。

如果没有/etc/udev/rules.d/51-android.rules 文件,麻烦自己创建一下。

setp3: 之后执行命令:

apuser@ ubuntu2:~/adbtools$ sudo usermod -a -G plugdev $(id -u -n)

apuser@ ubuntu2:~/adbtools$ sudo udevadm control –reload-rules

apuser@ ubuntu2:~/adbtools$ sudo service udev restart

apuser@ ubuntu2:~/adbtools$ sudo udevadm trigger

setp4: 之后重启adb

apuser@ ubuntu2:~/adbtools$ adb kill-server

apuser@ ubuntu2:~/adbtools$ adb start-server

apuser@ ubuntu2:~/adbtools$ adb devices

List of devices attached

faf80ac1  unauthorized

apuser @ ubuntu2:~$adb devices

List of devices attached

????????????   no permissions

提示很明确,就是adb权限有问题,而且

????????????   no permissions

这样的提示,说明使用的adb版本较低,更好使用高版本的adb,安装Ubuntu系统自带的adb可能会出现这种现象。如果adb版本比较高,就会出现如下提示:

faf80ac1no permissions……

使用adb shell 也会提示权限error

apuser@ ubuntu2:~$adb shell

error:insufficient permissions for device

根本原因是: adb server 需要以 root 的权限启动

临时方法 如下:

apuser@ubuntu2:~$sudo -s

password for apuser:

root@ ubuntu2:~#adb kill-server; adb start-server

* daemon not running. starting it now *

* daemon started successfully *

apuser@ ubuntu2:~# exit

apuser @ ubuntu2:~$

再次执行adb shell就可以了。

该权限问题,可使用sudo启动adb来解决,但不是根本解决之道,因为每次都要sudo来提高权限,太麻烦,而且如果使用的eclpse,或者idle来调试时还是要面对该该问题。

更好按本文之一部分的方法安装adb。如果按本文之一部分安装了adb,但还出现改问题,可使用which adb查看,当前使用的adb那个路径下的adb.以确保使用正确的adb

3、如果需要调试多个设备,以下的添加方法可能更为合适

这个方案对于不出现user in plugdev group; are your udev rules wrong?问题的系统来说是可行,的,如果出现user in plugdev group; are your udev rules wrong?问题,就不用考虑了。

清空51-android.rules,添加如下一行,一劳永逸(需要测试好几种设备,每次都添加一个会很麻烦)。

SUBSYSTEM==”u”, ENV{DEVTYPE}==”u_device”, MODE=”0666″, GROUP=”plugdev”

我并不是很清楚具体的含义,只是模仿10-vboxdrv.rules来写的,这个是virtualbox的udev规则文件,因为名字开头数字大文件中记录的规则会覆盖名字开头数字小的文件中的规则,所以你需要尽可能设置的文件名大一些,51已经够用了(我原来想写在10-vboxdrv.rules,让他们用一个文件,但是失败了)

adb kill-server

sudo udevadmcontrol –reload-rules

sudo service udevrestart

sudo udevadmtrigger

lsu

linux下adb连接失败的怎么解决

解决方法

1、打开终端,安装 lib32z1(基圆注意最后一位是数字 1 不是字搏仔塌母 l) sudo apt-get install lib32z1 2、完成后还需要安装 libstdc++.so.6 这个戚配库(adb需要32位的库): sudo apt-get install lib32stdc++6 OK,现在就可以使用adb命令了。

关于u adb linux命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux中使用USB ADB命令的方法 (u adb linux命令)