導航:首頁 > 程序命令 > 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命令相關的資料

熱點內容
gcc編譯vi文件 瀏覽:61
安卓連airpods怎麼找耳機 瀏覽:925
加密貨幣轉賬教程 瀏覽:227
程序員小灰hashmap 瀏覽:836
國語pdf版 瀏覽:182
少兒編程作品美麗的小房子 瀏覽:970
伺服器卡在網頁上怎麼辦 瀏覽:54
用python自製編譯器 瀏覽:951
android分享新浪微博客戶端 瀏覽:26
系統中伺服器在哪裡下載地址 瀏覽:1001
新a4安卓手機怎麼投屏 瀏覽:173
pdftoemf 瀏覽:886
java介面可以實現介面嗎 瀏覽:59
vb編程10個隨機函數 瀏覽:21
程序員個人簡介100 瀏覽:772
土木工程師演算法工程師 瀏覽:92
javaexcel導入oracle 瀏覽:880
如何設置異地伺服器 瀏覽:882
為什麼安卓手機藍牙耳機不會彈窗 瀏覽:547
linuxf77編譯器安裝教程 瀏覽:949