Как проверить, установлен ли на моем macOS adb? - PullRequest
0 голосов
/ 21 февраля 2020

Вот что я попробовал:

Jaimes-MacBook-Pro:platform-tools jaimemontoya$ pwd
/Users/jaimemontoya/Library/Android/sdk/platform-tools
Jaimes-MacBook-Pro:platform-tools jaimemontoya$ ls
NOTICE.txt                      deployagent.jar                 etc1tool                        make_f2fs                       sload_f2fs
adb                             deploypatchgenerator.jar        fastboot                        mke2fs                          source.properties
api                             dmtracedump                     hprof-conv                      mke2fs.conf                     sqlite3
deployagent                     e2fsdroid                       lib64                           package.xml                     systrace
Jaimes-MacBook-Pro:platform-tools jaimemontoya$ adb shell setprop log.tag.FA VERBOSE
bash: adb: command not found
Jaimes-MacBook-Pro:platform-tools jaimemontoya$

Я знаю, что вижу bash: adb: command not found, но я не уверен, что я использую правильный путь (/Users/jaimemontoya/Library/Android/sdk/platform-tools). Обратите внимание, что когда я использую ls, я вижу adb в списке. Это не каталог. Это файл, потому что когда я использую ls -al, я вижу это в разрешениях: -rwxr-xr-x. Это означает, что adb - это файл, а не папка. В противном случае это должно быть drwxr-xr-x, но я вижу -rwxr-xr-x. Любые советы, которые помогут мне подтвердить, установлен ли у меня adb на моем macOS и как вызывать его из командной строки?

ОБНОВЛЕНИЕ 1:

Следуя совету Ашока Чаудхари в его комментарии, из Android Studio я перешел в Инструменты> Диспетчер SDK> Внешний вид и поведение> Настройки системы> Android SDK, а затем я вижу Android Расположение SDK: / Users / jaimemontoya / Library / Android / SDK. Я предположил, что в этом месте можно найти adb, и я сделал это:

Jaimes-MacBook-Pro:platform-tools jaimemontoya$ pwd
/Users/jaimemontoya/Library/Android/sdk/platform-tools
Jaimes-MacBook-Pro:platform-tools jaimemontoya$ ls -al
total 30704
drwxr-xr-x  22 jaimemontoya  staff      704 Jun 17  2019 .
drwxr-xr-x  16 jaimemontoya  staff      512 Jun 17  2019 ..
-rw-r--r--   1 jaimemontoya  staff   295786 Jun 17  2019 NOTICE.txt
-rwxr-xr-x   1 jaimemontoya  staff  2512560 Jun 17  2019 adb
drwxr-xr-x   4 jaimemontoya  staff      128 Jun 17  2019 api
-rwxr-xr-x   1 jaimemontoya  staff      140 Jun 17  2019 deployagent
-rw-r--r--   1 jaimemontoya  staff  1023085 Jun 17  2019 deployagent.jar
-rw-r--r--   1 jaimemontoya  staff  4388350 Jun 17  2019 deploypatchgenerator.jar
-rwxr-xr-x   1 jaimemontoya  staff    60544 Jun 17  2019 dmtracedump
-rwxr-xr-x   1 jaimemontoya  staff  1525380 Jun 17  2019 e2fsdroid
-rwxr-xr-x   1 jaimemontoya  staff   305772 Jun 17  2019 etc1tool
-rwxr-xr-x   1 jaimemontoya  staff  1785328 Jun 17  2019 fastboot
-rwxr-xr-x   1 jaimemontoya  staff    17480 Jun 17  2019 hprof-conv
drwxr-xr-x   3 jaimemontoya  staff       96 Jun 17  2019 lib64
-rwxr-xr-x   1 jaimemontoya  staff   172332 Jun 17  2019 make_f2fs
-rwxr-xr-x   1 jaimemontoya  staff   759196 Jun 17  2019 mke2fs
-rwxr-xr-x   1 jaimemontoya  staff     1170 Jun 17  2019 mke2fs.conf
-rw-r--r--   1 jaimemontoya  staff    17783 Jun 17  2019 package.xml
-rwxr-xr-x   1 jaimemontoya  staff  1446264 Jun 17  2019 sload_f2fs
-rw-r--r--   1 jaimemontoya  staff       38 Jun 17  2019 source.properties
-rwxr-xr-x   1 jaimemontoya  staff  1366388 Jun 17  2019 sqlite3
drwxr-xr-x   6 jaimemontoya  staff      192 Jun 17  2019 systrace
Jaimes-MacBook-Pro:platform-tools jaimemontoya$ adb
-bash: adb: command not found
Jaimes-MacBook-Pro:platform-tools jaimemontoya$ 

Обратите внимание, что я все еще получаю то же сообщение: -bash: adb: command not found. Это странно для меня, потому что adb кажется там.

ОБНОВЛЕНИЕ 2:

Следуя совету Ашока Чаудхари в его комментарии, теперь он работает для меня, используя ./adb! Спасибо.

Jaimes-MacBook-Pro:platform-tools jaimemontoya$ ./adb
Android Debug Bridge version 1.0.41
Version 29.0.1-5644136
Installed as /Users/jaimemontoya/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:<port> (<local> may be "tcp:0" to pick any open port)
       localabstract:<unix domain socket name>
       localreserved:<unix domain socket name>
       localfilesystem:<unix domain socket name>
       dev:<character device name>
       jdwp:<process pid> (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:<port> (<remote> may be "tcp:0" to pick any open port)
       localabstract:<unix domain socket name>
       localreserved:<unix domain socket name>
       localfilesystem:<unix domain socket name>
 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_services|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 (see also `adb shell cmd package help`):
 install [-lrtsdg] [--instant] PACKAGE
     push a single package to the device and install it
 install-multiple [-lrtsdpg] [--instant] PACKAGE...
     push multiple APKs to the device for a single package and install them
 install-multi-package [-lrtsdpg] [--instant] PACKAGE...
     push one or more packages to the device and install them atomically
     -r: replace existing application
     -t: allow test packages
     -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
     --no-streaming: always push APK to device and invoke Package Manager as separate steps
     --streaming: force streaming APK directly into Package Manager
     --fastdeploy: use fast deploy
     --no-fastdeploy: prevent use of fast deploy
     --force-agent: force update of deployment agent when using fast deploy
     --date-check-agent: update deployment agent when local version is newer and using fast deploy
     --version-check-agent: update deployment agent when local version has different version code and using fast deploy
     --local-agent: locate agent files from local source build (instead of SDK location)
 uninstall [-k] PACKAGE
     remove this app package from the device
     '-k': keep the data and cache directories

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,

scripting:
 wait-for[-TRANSPORT]-STATE
     wait for device to be in the given state
     STATE: device, recovery, rescue, sideload, bootloader, or disconnect
     TRANSPORT: usb, local, or any [default=any]
 get-state                print offline | bootloader | device
 get-serialno             print <serial-number>
 get-devpath              print <device-path>
 remount [-R]
      remount partitions read-write. if a reboot is required, -R will
      will automatically reboot the device.
 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 adbd listening on USB
 tcpip PORT               restart adbd 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_LOCAL_TRANSPORT_MAX_PORT max emulator scan port (default 5585, 16 emus)
Jaimes-MacBook-Pro:platform-tools jaimemontoya$

1 Ответ

1 голос
/ 21 февраля 2020

Вы можете проверить путь, перейдя к Инструменты -> SDK Manager и просмотрев Android SDK Location . Как правило, adb присутствует в папке platform-tools , которая находится в этом Android местоположении SDK.

В этом месте вам необходимо выполнить ./adb.

В противном случае вы также можете экспортировать этот путь платформы инструментов для доступа к adb из любого места, как указано ниже:

echo 'export PATH=$PATH:~/.android-sdk-macosx/platform-tools/' >> ~/.bash_profile 
source ~/.bash_profile

, а затем перезапустить терминал для доступа к adb из любого места.

...