mac Android Studio配置adb环境(使用adb报错 adb: command not found)

本文详细介绍了在Mac系统中正确配置ADB环境变量的过程,包括创建.bash_profile文件、设置ADB路径、验证配置等步骤,解决在使用ADB命令时遇到的command not found错误。

由于某些原因需要手动的使用adb命令去卸载掉手机本身的包文件,当使用adb命令时却报错

command not found:gradle/adb

这件让我本以为很简单的事情,搞了将近两个小时才搞定,问题出在什么地方呢,通过查阅资料好多教程mac 安装adb的都只是浅尝辄止或者不清不楚的搞的我有点懵

1、打开mac终端或者启动 Android Studio 的Terminal

2、进入当前用户home目录

echo $HOME

3、创建.bash_profile文件

touch .bash_profile

4、打开.bash_profile文件

open -e .bash_profile

5、在打开的.bash_profile文件中编辑如下:
可以在Tools-SDK Manager中查看sdk路径,如下图所示

export PATH=${PATH}:你电脑sdk的路径/tools:你电脑sdk的路径platform-tools
  //例如我的电脑就是:
  export PATH=${PATH}:/Users/j/Library/Android/sdk/tools:~/Library/Android/sdk/platform-tools

6、执行命令

source .bash_profile

7、可以输入下面的命令来判断是否配置成功

adb version

8、出现版本信息则配置成功

####adb命令:

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过 adb 我们可以在IDE中通过DDMS来调试Android程序,其实也就是debug工具。
Android Debug Bridge version 1.0.40
Version 4797878
Installed as /Users/shenfan/Library/Android/sdk/platform-tools/adb

global options:
-a listen on all network interfaces, not just localhost
-d use USB device (error if multiple devices connected)
-e use TCP/IP device (error if multiple TCP/IP devices available)
-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
-t ID use device with given transport id
-H name of adb server host [default=localhost]
-P port of adb server [default=5037]
-L SOCKET listen on given socket for adb server [default=tcp:localhost:5037]

general commands:
devices [-l] list connected devices (-l for long output)
help show this help message
version show version num

networking:
connect HOST[:PORT] connect to a device via TCP/IP [default port=5555]
disconnect [HOST[:PORT]]
disconnect from given TCP/IP device [default port=5555], or all
forward --list list all forward socket connections
forward [–no-rebind] LOCAL REMOTE
forward socket connection using:
tcp: ( may be “tcp:0” to pick any open port)
localabstract:
localreserved:
localfilesystem:
dev:
jdwp: (remote only)
forward --remove LOCAL remove specific forward socket connection
forward --remove-all remove all forward socket connections
ppp TTY [PARAMETER…] run PPP over USB
reverse --list list all reverse socket connections from device
reverse [–no-rebind] REMOTE LOCAL
reverse socket connection using:
tcp: ( may be “tcp:0” to pick any open port)
localabstract:
localreserved:
localfilesystem:
reverse --remove REMOTE remove specific reverse socket connection
reverse --remove-all remove all reverse socket connections from device

file transfer:
push [–sync] LOCAL… REMOTE
copy local files/directories to device
–sync: only push files that are newer on the host than the device
pull [-a] REMOTE… LOCAL
copy files/dirs from device
-a: preserve file timestamp and mode
sync [all|data|odm|oem|product|system|vendor]
sync a local build from $ANDROID_PRODUCT_OUT to the device (default all)
-l: list but don’t copy

shell:
shell [-e ESCAPE] [-n] [-Tt] [-x] [COMMAND…]
run remote shell command (interactive shell if no command given)
-e: choose escape character, or “none”; default ‘~’
-n: don’t read from stdin
-T: disable PTY allocation
-t: force PTY allocation
-x: disable remote exit codes and stdout/stderr separation
emu COMMAND run emulator console command

app installation:
install [-lrtsdg] [–instant] PACKAGE
install-multiple [-lrtsdpg] [–instant] PACKAGE…
push package(s) to the device and install them
-l: forward lock application
-r: replace existing application
-t: allow test packages
-s: install application on sdcard
-d: allow version code downgrade (debuggable packages only)
-p: partial application install (install-multiple only)
-g: grant all runtime permissions
–instant: cause the app to be installed as an ephemeral install app
uninstall [-k] PACKAGE
remove this app package from the device
‘-k’: keep the data and cache directories

backup/restore:
to show usage run “adb shell bu help”

debugging:
bugreport [PATH]
write bugreport to given PATH [default=bugreport.zip];
if PATH is a directory, the bug report is saved in that directory.
devices that don’t support zipped bug reports output to stdout.
jdwp list pids of processes hosting a JDWP transport
logcat show device log (logcat --help for more)

security:
disable-verity disable dm-verity checking on userdebug builds
enable-verity re-enable dm-verity checking on userdebug builds
keygen FILE
generate adb public/private key; private key stored in FILE,
public key stored in FILE.pub (existing files overwritten)

scripting:
wait-for[-TRANSPORT]-STATE
wait for device to be in the given state
State: device, recovery, sideload, or bootloader
Transport: usb, local, or any [default=any]
get-state print offline | bootloader | device
get-serialno print
get-devpath print
remount remount partitions read-write
reboot [bootloader|recovery|sideload|sideload-auto-reboot]
reboot the device; defaults to booting system image but
supports bootloader and recovery too. sideload reboots
into recovery and automatically starts sideload mode,
sideload-auto-reboot is the same but reboots after sideloading.
sideload OTAPACKAGE sideload the given full OTA package
root restart adbd with root permissions
unroot restart adbd without root permissions
usb restart adb server listening on USB
tcpip PORT restart adb server listening on TCP on PORT

internal debugging:
start-server ensure that there is a server running
kill-server kill the server if it is running
reconnect kick connection from host side to force reconnect
reconnect device kick connection from device side to force reconnect
reconnect offline reset offline/unauthorized devices to force reconnect

environment variables:
$ADB_TRACE
comma-separated list of debug info to log:
all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp
$ADB_VENDOR_KEYS colon-separated list of keys (files or directories)
$ANDROID_SERIAL serial number to connect to (see -s)
$ANDROID_LOG_TAGS tags to be used by logcat (see logcat --help)

####adb 常用命令:

查看adb版本: adb version
查看所有设备: adb devices
安装指定apk: adb install
卸载指定包 : adb uninstall
连接设备 : adb connect [[:]](默认端口号是:5555)
断开设备: disconnect [[:]]
执行远程的shell:adb shell
执行远程shell命令: adb shell
拷贝文件到设备上: adb push
从设备中拷贝文件:adb pull []
查看设备所有信息: adb bugreport(包括 bug 报告)

执行`adb push`命令后出现`-bash: adb: command not found`错误,通常是因为系统没有找到`adb`命令的可执行文件,以下是一些可能的解决办法: ### 检查ADB是否安装 确保Android SDK已经安装,并且其中包含了ADB工具。可以从Android Studio的SDK Manager中安装或更新Android SDK。 ### 配置ADB环境变量 将ADB所在的路径添加到系统的环境变量中。一般来说,ADB位于Android SDK的`platform-tools`目录下。 - **Windows系统**: 1. 右键点击“此电脑”,选择“属性”。 2. 点击“高级系统设置”,在弹出的窗口中选择“环境变量”。 3. 在“系统变量”中找到“Path”变量,点击“编辑”。 4. 点击“新建”,添加ADB所在的路径,例如`C:\Users\YourUsername\AppData\Local\Android\Sdk\platform-tools`。 5. 点击“确定”保存设置。 - **Linux或macOS系统**: 可以通过编辑`~/.bashrc`或`~/.zshrc`文件来添加环境变量。打开终端,输入以下命令: ```bash echo 'export PATH=$PATH:/path/to/your/android-sdk/platform-tools' >> ~/.bashrc source ~/.bashrc ``` 将`/path/to/your/android-sdk`替换为你实际的Android SDK安装路径。 ### 验证ADB是否可用 在终端中输入`adb version`,如果能够正确显示ADB的版本信息,则说明配置成功。 ### 检查ADB文件权限(Linux或macOS) 确保`platform-tools`目录下的`adb`文件具有可执行权限。可以通过以下命令添加权限: ```bash chmod +x /path/to/your/android-sdk/platform-tools/adb ``` ### 重新启动终端 有时候,环境变量的修改需要重新启动终端才能生效。关闭当前终端窗口,重新打开一个新的终端,再次尝试执行`adb push`命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值