导航:首页 > 程序命令 > ubuntuadb命令

ubuntuadb命令

发布时间:2022-08-28 06:11:21

‘壹’ Ubuntu adb不能执行二进制文件,是什么问题

因为ubuntu这样的系统都是默认以非root身份在运行的,要使用adb执行二进制文件,需要sudo支持。
解决办法就是用root身份来运行adb:
>su -
输入root密码,切换到root身份。
adb使用
启动adb server,拔掉usb重新连上再执行:
adb kill-server
adb devices
adb root
adb shell
adb remount
然后就可以执行二进位文件了。

‘贰’ ubuntu安装adb用命令安装不了怎么办

64位系统,Ubuntu11.04,搭建JDK,android环境,把android SDK复制过来后,里面的adb和其它命令的都不能使用。 错误提示:android-sdk-linux_86/platform-tools/adb: 没有那个文件或目录。 解决方案:由于是64bit的系统,而Android sdk只有32bit的程序,需要安装ia32-libs,才能使用。 运行如下命令: view plain sudo apt-get install ia32-libs 摘自 枫影Xda的博客

‘叁’ ubuntu上无法安装使用adb怎么回事

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

‘肆’ ubuntu adb disable-verity不能使用怎么解决

要确保adb.exe那个文件夹的路径已设置到环境变量中去。
具体步骤为:
我的电脑——》属性——》高级——》环境变量——》path——》添加你的路径
注意:路径间用分号隔开,adb的路径根据你的sdk文件可能不同有的在tools文件夹中,有的可能不是

‘伍’ ubuntu14.04怎么连接安卓手机

ubuntu14.04连接安卓手机方法如下:

提示:在windows下连接android手机需要驱动程序,在linux下却能自动识别,但是还是需要一点点设置。
步骤1、当把usb连接线连上电脑和手机时,手机会弹出一个对话框,这里要在对话框里选择“调试”模式。
步骤2、ubuntu把android手机识别为网卡usb0,在操作手机前,需要设置一个ip地址:
sudo ifconfig usb0 192.168.100.1
步骤3、为了让adb命令控制手机,需要设置环境变量ADBHOST:export ADBHOST=192.168.100.2,然后输入adb shell就可以进入手机的控制台了。

总结:每次插拔usb线的都需要进行上述设置,可把这些命令保存为一个shell文件:
#!/bin/bash
sudo ifconfig usb0 192.168.100.1
export ADBHOST=192.168.100.2
adb kill-server
adb start-server

‘陆’ 如何验证ubuntu adb安装好了吗

用快捷键Ctrl + Alt + T 打开终端命令工具,电脑不要插入连接android设备,在终端中输入并执行lsusb命令,来查看现在系统的usb设备

插入连接android设备,然后再执行lsusb来查看连接android设备后的usb设备连接情况
通过两次连接信息对比来查看差异,新增加的就是我们连接的设备,注意保存新连接的信息,后面会用到

输入下面的命令来新建51-android.rules文件:
sudo vi /etc/udev/rules.d/51-android.rules

在新建的51-android.rules文件中输入下面的内容:
SUBSYSTEM=="usb", ATTR{idVendor}=="10d6",MODE="0666",GROUP="plugdev"

其中最关键的是ATTR{idVendor}=="10d6",的10d6,这个值来自于第2步中 10d6:0c02,这个需要根据不同android设备的厂商参数来进行填写,参数的获取方法,也可以按照第2步中的方法

填写完上面的内容后,保存文件并关闭

执行下面的命令,将51-android.rules文件的权限修改为任何人都可以执行:

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

执行下面的命令重启udev,这样我们刚刚添加的新51-android.rules才会正式生效:
sudo /etc/init.d/udev restart

进入android 的sdk目录中,若是已经把adb添加到环境变量中,那么这一步可以省略
cd work/platform-tools/

用下面的命令先关闭adb服务
./adb kill-server

再用下面的命令来重启adb服务
sudo ./adb start-server

现在用下面的命令来查看我们连接的设备,注意要先在android设备上打开 usb调试 功能,不然下面的命令会找不到设备

./adb devices
执行上面的命令后,会提示当前连接的设备,若是提示下面的信息,那么说明上面第8步中重启adb服务没有以root权限来执行,那么再次重复第8步的操作即可,要注意sudo ./adb start-server 命令前面必须有sudo

List of devices attached
???????????? no permissions

找到设备了,那么我们就可以使用adb来调试了,下面的命令相信调试android的朋友们都熟悉的:
./adb shell

‘柒’ ubuntu下怎么找不到android adb

最近在写一个播放rtsp的测试程式,这个需要真机上测试,结果在Ubuntu 10.04上,接上Android2.1的手机后,adb service没有找到设备,只有模拟器的。
于是上网找了写资料,以下两篇文章帮助我解决了这个问题。
No. 1
首先确认,我已经在G1的settings-applications-development-debug mode里面打勾。而且手机也有提示connected,但是adb死活不认。
最后找到了解决方法,一次成形。
以下为引用全文
SDK 上关于如何在 Ubuntu上安装 adb驱动的说明并不详细,经过搜索找到了确实的解决方法,首先按照 SDK 上的说明建立 udev 的 rules 文件,然后:
在 Ubuntu 9.04 下通过usb连接 Android设备,使用 adb 时,会返回无法找到设备,解决办法如下:
1) 在终端运行 lsusb
会发现结果有会有如下类似记录:
Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer Corp.
这时键入
sudo vim /etc/udev/rules.d/50-android.rules
在打开的文件中增加以下文本:
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"
2) 运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/50-android.rules
sudo /etc/init.d/udev restart
3) 在 android sdk 的 tools 目录下运行 (这一步很重要,必须要sudo,否则没效果)
sudo ./adb kill-server
sudo ./adb devices
然后,就可以直接用 adb 来进行操作了。
No. 2
在ubuntu(9.10)下执行adb devices命令, 返回的结果是:
List of devices attached
???????????? no permissions
这意味着,USB连接的设备是能够被识别的。Google之后,得知adb server需要以root的权限启动,于是有了如下命令:
www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ ./adb kill-server
www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ sudo ./adb start-server
* daemon not running. starting it now *
* daemon started successfully *
第一条命令用来杀死当前正在运行的server, 第二条命令则以root的权限启动了新的server. 我们可以再次查看devices:
www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ ./adb devices
List of devices attached
HT848KV04386 device
这次设备就被正确识别了。自然地, 像ddms之类的工具也能派上用场了。

‘捌’ 怎样在Ubuntu下安装Android SDK/ADB

Ubuntu电脑安装Android SDK/ADB

第一步,你要下载Linux版Android SDK的安装或文件包,然后你需要从Android SDK Manager内下载Platform Tools
Package

请从Google官方获取Android
SDK安装或文件包,通常情况,你下载的文件名为android-sdk_rxx-linux.tgz的形式,rxx代表版本,比如,r16版,即android-sdk_r16-linux.tgz,r24版,即android-sdk_r24-linux.tgz

请放置Android SDK安装或文件包在你的用户主目录

在你的Ubuntu电脑上打开终端窗口

解压Android SDK文件:
cd ~
tar -zxvf android-sdk_r16-linux.tgz

在~/android-sdk-linux/tools字目录,有一个叫做android的可执行文件,尽管名字是android,但它实际上是Android
SDK Manager

运行Android SDK Manager:
./~/android-sdk-linux/tools/android

选择Android SDK
Tools与Android SDK Platform-tools项,点Install
packages安装Platform Tools
Package工具包。包括ADB与Fastboot可执行的文件在内的工具包都会被下载,由于下载的文件较多而需要一定的时间,你能去喝点东西

你下载的Platform Tools
Package工具包文件将位于新创建的~/android-sdk-linux/platform-tools目录

第二步,修改ADB与Fastboot可执行文件的默认PATH路径环境。PATH环境变量可以是在~/.profile(或~/.bash_profile)或者~/.bashrc文件内修改,~/.profile文件是读取所有交互式Shell的登录,~/.bashrc文件读取所有非交互式Shell的登录(如sftp),在大多数默认情况下,~/.profile文件导入所有~/.bashrc文件的设置。PATH命令设定的改变必须包括/android-sdk-linux/tools与/android-sdk-linux/platform-tools目录

kevdog的PATH命令设定通过Ubuntu系统内初始的默认编辑器Gedit在~/.bashrc文件底部增加了一行:
export
PATH=${PATH}:${HOME}/android-sdk-linux/tools:${HOME}/android-sdk-linux/platform-tools

第三步,我们需要为Ubuntu创建udev设备管理规则,从而让设备在通过USB端口连接到电脑时能被正确地识别

将设备连接到电脑,然后执行命令:
lsusb

你会看到类似于下面的输出信息:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation
2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004
Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001:
ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 063: ID 04e8:6860
Samsung Electronics Co., Ltd

由于kevdog的设备是Samsung的某款设备,因此你能看到相应的识别信息:
Bus 001 Device 063: ID
04e8:6860 Samsung Electronics Co., Ltd

我们来解释下上面的识别信息:

Bus 001 Device
063,设备端的名称是/dev/bus/usb/001/063,即这个信息可以帮助我们确定设备端的名称

04e8,vendorID,即供货商编号

6860,proctID,即产品编号

使用设备端的名称/dev/bus/usb/001/063可以让我们查询设备的属性,查询这些属性有时很有必要,因为udev设备管理匹配设备是基于特定标准的。为此,我们需要一个正确的udev设备匹配规则集,这个过程的第一步就是查询能被连接或插入到我们规则集的准则,这可以通过udevadm程序来实现,并且有两种方式现,它们生成的输出信息为我们的设备构建udev设备管理规则:

udevadm查询udev设备管理规则方法1:
udevadm info -q all -n <name of device
node>
根据原作者的实际情况,设备端名称是/dev/bus/usb/001/063,因此命令是:

udevadm info -q all -n /dev/bus/usb/001/063
你会看到类似于下面的输出信息:

$ udevadm info -q all -n /dev/bus/usb/001/063
P:
/devices/pci0000:00/0000:00:1d.7/usb1/1-8
N: bus/usb/001/063
S:
libmtp-1-8
S: GalaxyNexus
E: UDEV_LOG=3
E:
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-8
E: MAJOR=189
E:
MINOR=62
E: DEVNAME=/dev/bus/usb/001/063
E: DEVTYPE=usb_device
E:
DRIVER=usb
E: PRODUCT=4e8/6860/216
E: TYPE=0/0/0
E: BUSNUM=001

E: DEVNUM=063
E: SUBSYSTEM=usb
E: ID_MTP_DEVICE=1
E:
ID_MEDIA_PLAYER=samsung_galaxy-s2
E: ID_VENDOR=samsung
E:
ID_VENDOR_ENC=samsung
E: ID_VENDOR_ID=04e8
E: ID_MODEL=Galaxy
E:
ID_MODEL_ENC=Galaxy
E: ID_MODEL_ID=6860
E: ID_REVISION=0216
E:
ID_SERIAL=samsung_Galaxy_0146B06501005018
E:
ID_SERIAL_SHORT=0146B06501005018
E: ID_BUS=usb
E:
ID_USB_INTERFACES=:ffff00:ff4201:
E: DEVLINKS=/dev/libmtp-1-8
/dev/GalaxyNexus
E: TAGS=:udev-acl:
我们使用的规则从有E:(E=ENV=Device
Property设备属性值)的行开始

udevadm查询udev设备管理规则方法2:
udevadm info -a -p $(udevadm info -q path
-n <name of device node>)

根据原作者的实际情况,设备端名称是/dev/bus/usb/001/063,因此命令是:
udevadm info -a -p
$(udevadm info -q path -n /dev/bus/usb/001/063)
你会看到类似于下面的输出信息:

$ udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/001/063)

Udevadm info starts with the device specified by the devpath and then

walks up the chain of parent devices. It prints for every device
found,
all possible attributes in the udev rules key format.
A rule to match, can
be composed by the attributes of the device
and the attributes from one
single parent device.
looking at device
'/devices/pci0000:00/0000:00:1d.7/usb1/1-8':
KERNEL=="1-8"

SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{configuration}==""

ATTR{bNumInterfaces}==" 2"
ATTR{bConfigurationValue}=="1"

ATTR{bmAttributes}=="80"
ATTR{bMaxPower}=="500mA"
ATTR{urbnum}=="29"

ATTR{idVendor}=="04e8"
ATTR{idProct}=="6860"

ATTR{bcdDevice}=="0216"
ATTR{bDeviceClass}=="00"

ATTR{bDeviceSubClass}=="00"
ATTR{bDeviceProtocol}=="00"

ATTR{bNumConfigurations}=="1"
ATTR{bMaxPacketSize0}=="64"

ATTR{speed}=="480"
ATTR{busnum}=="1"
ATTR{devnum}=="63"

ATTR{devpath}=="8"
ATTR{version}==" 2.00"
ATTR{maxchild}=="0"

ATTR{quirks}=="0x0"
ATTR{avoid_reset_quirk}=="0"

ATTR{authorized}=="1"
ATTR{manufacturer}=="samsung"

ATTR{proct}=="Galaxy"
ATTR{serial}=="0146B06501005018"

looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1':

KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"

ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"

ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"

ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="1403"

ATTRS{idVendor}=="1d6b"
ATTRS{idProct}=="0002"

ATTRS{bcdDevice}=="0300"
ATTRS{bDeviceClass}=="09"

ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"

ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"

ATTRS{speed}=="480"
ATTRS{busnum}=="1"
ATTRS{devnum}=="1"

ATTRS{devpath}=="0"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="8"

ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"

ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Linux 3.0.0-14-generic
ehci_hcd"
ATTRS{proct}=="EHCI Host Controller"

ATTRS{serial}=="0000:00:1d.7"
ATTRS{authorized_default}=="1"

looking at parent device '/devices/pci0000:00/0000:00:1d.7':

KERNELS=="0000:00:1d.7"
SUBSYSTEMS=="pci"
DRIVERS=="ehci_hcd"

ATTRS{vendor}=="0x8086"
ATTRS{device}=="0x27cc"

ATTRS{subsystem_vendor}=="0x103c"
ATTRS{subsystem_device}=="0x3010"

ATTRS{class}=="0x0c0320"
ATTRS{irq}=="20"
ATTRS{local_cpus}=="ff"

ATTRS{local_cpulist}=="0-7"
ATTRS{dma_mask_bits}=="32"

ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{broken_parity_status}=="0"

ATTRS{msi_bus}==""
ATTRS{companion}==""
looking at
parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"

SUBSYSTEMS==""
DRIVERS==""
我们使用的规则从有ATTRS(ATTRS=Device
Attributes设备属性)的行开始

不管是ENV,还是ATTRS,我们可以构建一个udev设备管理规则集。规则集的名称可以随意,根据原作者的意图,我们叫做51-android.rules:

你能这样建立规则集文件:
gksu gedit /etc/udev/rules.d/51-android.rules

之后,请在规则集文件中加入相关的规则,以原作者的规则来看,注意是一行一个:
SUBSYSTEM=="usb",
ENV{ID_VENDOR_ID}=="04e8", ENV{ID_MODEL}=="Galaxy", MODE="0666",
SYMLINK+="GalaxyNexus"
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="04e8",
ENV{ID_MODEL_ID}=="6860", MODE="0666", SYMLINK+="GalaxyNexus"

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProct}=="6860",
ATTR{proct}=="Galaxy" MODE="0666", SYMLINK+="GalaxyNexus"

如上面所加的规则,这些规则匹配准则是SUBSYSTEM,
ENV,ATTR,它只会修改设备的模式MODE(0666=rw-rw-rw-)与创建链接于/dev/GalaxyNexus的GalaxyNexus标识。当然,更多的指令可以分配给设备,如插入或移除设备时的执行命令,你能这样指定指令:

ACTION=="add", RUN+="<name of action>"
ACTION==”remove”,
RUN+="<name of action>"
例如,我们要设定设备在插入或弹出时播放一个声音或MP3文件,可以如下指令设定:

ACTION=="add", RUN+="/usr/local/bin/NexusMount.sh"

ACTION==”remove”, RUN+="/usr/local/bin/NexusUnmount.sh"

需要注意的是,每个ACTION指令设定必须在它自己的命令行;目录必须正确;指令可以是多重设定

一旦规则构建完成,我们需要保存/etc/udev/rules.d/51-android.rules规则文件

在你执行规则集前,测试一下通常是一个好主意,因为那样你能很容易地找出编写规则集的错误:

你能使用udevadm工具简单地完成规则集的测试:
udevadm info -q path -n d=<device
name>
根据原作者的设备端名/dev/bus/usb/001/063,测试行为:

udevadm test --action="SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="04e8",
ENV{ID_MODEL}=="Galaxy" MODE="0666", SYMLINK+="GalaxyNexus"" $(udevadm info -q
path -n /dev/bus/usb/001/063)
虽然测试输出行相当长,两行输出信息正确地识别规则集的指令设定:

udev_rules_apply_to_event: MODE 0666
/etc/udev/rules.d/51-android.rules:1
udev_rules_apply_to_event: LINK
'GalaxyNexus' /etc/udev/rules.d/51-android.rules:1

一旦你确认了规则集正确,请重启udev设备管理服务:
sudo service udev restart

第四步,退出电脑的登录,然后重新登录回

在设备插入的情况下,执行ADB命令,如确认设备连接:
$ adb devices

你会看到设备识别号信息,根据原作者的设备,它是
0146B06501005018 device

如果你的设备已启动在Fastboot模式,许多设备不启动可能也行,你能执行Fastboot命令,如标准的Fastboot设备:
$
fastboot devices

阅读全文

与ubuntuadb命令相关的资料

热点内容
编程猫拔萝卜文字评价模板 浏览:246
cmdjava命令 浏览:237
扫描版pdf转文字版 浏览:532
单片机专用寄存器 浏览:495
学习python的手册 浏览:676
vue编译成js文件 浏览:90
给单片机供电的电池 浏览:341
什么app是分享教育的 浏览:899
可视化编程java 浏览:83
人工智能温控器算法 浏览:376
大号文件夹多少钱一个 浏览:572
pdf阅读器打开文件 浏览:98
winrar解压日文文件 浏览:38
什么app可以看广东珠江电视台 浏览:75
linux移动文件位置 浏览:144
循环码与卷积码编译原理 浏览:808
进化算法和启发式算法的区别 浏览:602
android组件是什么 浏览:973
安卓手机微信怎么同步信息 浏览:183
小人pdf 浏览:806