A couple of days after posting the above solution, the problem returned on my Windows system.
Finally after several hours of investigation I think I have another solution for everyone having issues with AVD Manager “Unable to locate adb”.
I know we have the setting for the SDK in File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK. This it seems is not enough! It appears that Android Studio (at least the new version 4) does not give projects a default SDK, despite the above setting.
So, you also (for each project) need to go to File -> Project Structure -> Project Settings -> Project, and select the Project SDK, which is set to [No SDK] by default.
If there’s nothing in the drop-down box, then select New, select Android SDK, and navigate to your Android SDK location (normally C:Users[username]AppDataLocalAndroidSdk on Windows). You will then be able to select the Android API xx Platform. You now should not get this annoying adb error.
I started getting this error after updating Android Studio from version 3.6.3 to 4.0. It didn’t stop the emulator working, but it was vaguely annoying.
I checked that adb.exe was in the folder C:Users[username]AppDataLocalAndroidSdkplatform-tools. I also ran it in a command-line to prove that the exe worked OK.
Finally after a bit of a struggle I found a solution:
Start the SDK Manager, File menu -> Settings -> Appearance & Behavior -> System Settings -> Android SDK, SDK Tools tab (Or click the cube with blue down arrow icon in the toolbar).
Firstly I updated the Android SDK Platform-Tools (now v30.0.2). This didn’t fix the problem. I also tried manually deleting the platform tools folder and reinstalling.
Eventually I decided to click the “Edit” link next to the “Android SDK Location” box. This opens a new dialog for SDK Components Setup. How well hidden is that?!?! I had always assumed it was to edit the SDK path!
You should now see that Android SDK – (installed) has a tick in the checkbox, as do any SDK Platforms you have. Click on the Next button and your SDK will update.
With Android Studio 4.1.1, to make the solution more illustrative: