Technical Analysis and Configuration Guide for Resolving 'adb command not found' in macOS Terminal

Nov 19, 2025 · Programming · 12 views · 7.8

Keywords: adb | macOS | PATH environment variable | Android SDK | shell configuration

Abstract: This article provides an in-depth analysis of the 'command not found' error when accessing adb through the terminal in macOS systems, identifying the root cause as the adb executable not being included in the system's PATH environment variable. Two solutions are presented: temporary usage of adb from the current directory and permanent configuration of the PATH variable. Through detailed examination of shell environment variable mechanisms and Android SDK directory structures, complete configuration steps are provided, including identifying SDK installation paths, editing shell configuration files, and setting ANDROID_HOME environment variables. Differences in configuration for various shell types (bash, zsh) are compared to ensure correct setup based on individual system environments.

Problem Analysis

When executing the adb --help command in the macOS terminal and encountering the -bash: adb: command not found error, this indicates that the system cannot locate the adb executable file. From the user's provided terminal output, we can see that the user is currently in the /Users/espireinfolabs/Desktop/soft/android-sdk-mac_x86/platform-tools directory, and the ls command confirms that the adb file indeed exists in this directory.

The fundamental cause of the problem is: the adb executable file is not included in the system's PATH environment variable. In Unix-like systems, when a user enters a command in the terminal, the shell searches for executable files in the order of directories defined in the PATH environment variable. If the directory containing the command is not in PATH, even if the current directory contains the executable file, the system cannot recognize the command.

Temporary Solution

For temporary adb usage needs, you can directly specify the adb executable in the current directory:

./adb --help

Here, ./ represents the current directory. This method tells the shell to look for the adb executable in the current directory. While this approach is simple and quick, it requires entering the full path every time adb is used, making it unsuitable for frequent usage.

Permanent Configuration Solution

To be able to use the adb command directly from any directory, you need to add the Android SDK's platform-tools directory to the PATH environment variable.

Step 1: Determine Android SDK Installation Path

First, confirm the installation location of the Android SDK. Common installation paths in macOS systems include:

You can confirm the specific path through Android Studio's SDK Manager or by searching in the file system.

Step 2: Identify Shell Configuration File

Depending on the shell type being used, you need to edit the corresponding configuration file:

You can check the current shell type using the echo $SHELL command.

Step 3: Edit Configuration File

Open the corresponding shell configuration file using a text editor, for example:

nano ~/.bash_profile

Add the following content at the end of the file:

export ANDROID_HOME="$HOME/Library/Android/sdk"
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH"

This sets two important environment variables:

Step 4: Apply Configuration Changes

After saving the configuration file, you need to reload the configuration to make the changes take effect:

source ~/.bash_profile

Or simply restart the terminal window.

Configuration Verification

After configuration is complete, you can verify that adb is available using the following command:

adb version

If configured successfully, this will display adb version information. You can also confirm that the platform-tools directory has been correctly added to PATH using the echo $PATH command.

Technical Principle Deep Analysis

The PATH environment variable is a core concept in Unix-like systems, defining the directory order in which the shell searches for executable files. When a user enters a command, the shell searches from left to right in the order of directories defined in PATH until it finds the corresponding executable file.

When configuring PATH, using the $PATH variable reference ensures that while adding new directories, existing path configurations are not disrupted. The colon : serves as the directory separator in PATH.

Setting the ANDROID_HOME environment variable not only facilitates adb usage but also provides a standard SDK path reference for other Android development tools, enhancing development environment compatibility and maintainability.

Configuration Differences Across Shell Types

Although bash and zsh share similar basic syntax, their configuration files differ:

Understanding these differences is crucial for correctly configuring the development environment.

Best Practice Recommendations

1. Standardize SDK Installation Path: Recommended to use the standard $HOME/Library/Android/sdk path for easier team collaboration and environment migration

2. Regular Configuration Validation: After system updates or SDK upgrades, recommended to re-validate environment variable configurations

3. Backup Configuration Files: Before modifying shell configuration files, recommended to backup original files

4. Use Version Control: For development teams, standard environment configurations can be incorporated into version control systems

Through the complete configuration process and technical analysis provided above, users can thoroughly resolve the 'adb command not found' issue in macOS terminal and establish a stable and reliable Android development environment.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.