ADB.exe is obsolete and has serious performance problems - android-studio

I am using Windows 10 and when I launch the Virtual Device Emulator in Android Studio I keep getting the message which reads:
"The ADB binary at C:\Users\siviw\AppData\Local\Android\Sdk\platform-tools\adb.exe is obsolete and has serious performance problems with the Android Emulator. Please update to a newer version to get significantly faster app / file transfer".
I am a new developer with little experience. What do I need to update to a newer version so that message is no longer shown?

I am new to android as well. dkalev's answer is correct but not very descriptive for a new user. I have outlined the steps below.
Double Shift to open the search box
Type SDK Manager
In the results shown click "SDK Manager"
In the window that opens click the second tab "SDK Tools". You should see that there is an update available for SDK Build-Tools on the first line
Check "Show Package Details" in the lower right hand corner
Scroll to the last (latest version) item under "SDK Build-Tools" and check the box. (Mine was 28.0.1)
Click "Apply"
In the dialogue box that pops up, click "OK"
When the installer finishes, click "Finish"
Uncheck "Show Package Details" and look at "Android SDK Build-Tools" (first line). There should be no update available and it should say "Installed"
Click "OK" to close the SDK Manager

For me, update SDK doesn't help. I solve this problem by unchecking the emulator option "Use detected ADB location". Give it a try.

I had the same problem and solved it by updating the Android SDK Build-Tools. Open the SDK manager in Android studio (double shift and type SDK manager). Then on the second tab (SDK Tools) update the Android SDK Build-Tools and the error message should go away.

This is an years old bug.
Check your adb version like this : (the adb path is given with the error itself)
C:\Users\<your_user_name_>\AppData\Local\Android\Sdk\platform-tools\adb.exe --version
output :
Android Debug Bridge version 1.0.41
Version 29.0.4-5871666
Installed as C:\Users\sunil\AppData\Local\Android\Sdk\platform-tools\adb.exe
It means this adb comes from the latest sdk platform tools 29.0.4.
Check the latest version from official site here.
If you already have the latest version of ADB installed, and still getting the error, this is a known issue. Google hasn't yet provided any other ADB. Click on the "never show again" option and continue.

17-01-2019
This works for me.
Just opened Android SDK Manager Then it showed 4 Updates Available. So I just Updated it and No more above warning.

Had the same issue but in my case the fix was slightly different, as no updates were showing for the Android SDK Tools. I opened the Virtual Device Manager and realised my emulator was running API 27. Checked back in the SDK Manager and I didn't have API 27 SDK Tools installed at all. Installing v 27 resolved the issue for me.

In my case what removed this message was (After updating everything) deleting the emulator and creating a new one.
Manually updating the adb didn't solved this for. Nor updating via the Android studio Gui.
In my case it seems that since the emulator was created with "old" components it keep showing the message. I had three emulators, just deleted them all and created a new one. For my surprise when it started the message was no more.
Cannot tell if performance is better or not. The message just didn't came up. Also I have everything updated to the latest (emulators and sdk).

This happened to me. And, in my case I need Android SDK Platform 29 because I am using react native 0.63 and Android 10 (Q). I had to uninstall Android SDK Platform 28 because it was the one that caused the warning.
I found this video See Here explaining the process.
Open Android Studio then click on configure
Go to SDK Manager
Go to SDK Tools and click show package details
Uncheck Android SDK Platform 28 (OBS: for me) and Apply
Click OK and Finish.
With this I was able eliminate the warning.

I had the same problem and solved it by updating the Android SDK Build-Tools in Android Studio.
step 1 - Double shift and type SDK manager, this will open the SDK manager
step 2 - Then on the second tab (SDK Tools), update the Android SDK Build-Tools and the error message should go away.
if this does not resolve check the option in Setting tab,use detected Adb tool in Setting tab

(You mentioned you are new to Android Studio) so I recommend pressing the Android Studio > Help > Check for updates... button that will update your environment.

I solved this error by uninstalling two older SDK build tools versions, leaving only the most recent one.

The solution that worked for me -
I closed my Android Studio.
I visited this site - https://androidstudio.io/downloads/tools/download-the-latest-version-of-adb.exe.html
From there I downloaded the latest adb.zip file
I unzipped the folder and copied the 3 files -
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
I went to the folder - C:\Users\PayelSenapati\AppData\Local\Android\Sdk\platform-tools
There I replaced the old files by the new files. (Paste followed by replace the existing files)
Then I reopened my Android Studio, opened my virtual android device. Everything went fine. The error was no more.

In the SDK Manager, in the SDK Tools tab, check if you have any updates, if not, deselect "Hide Obsolete Packages" and check if you have something marked as (obsolete) if so, deselect the item and apply. In my case, it was the Android SDK Tools.

First you need to check which SDK your Emulator is using and as #kuya suggested you need to follow those steps and install the latest version of that SDK Build Tool. Suppose your Emulator uses SDK 27 then you need to install latest in that series. For me it was 27.0.3. After that the error was gone.

Try factory reset to virtual device from Android Device Manager

None of the top-voted answers worked for me, except when I unchecked "Use detected ADB location" as mentioned above by #褚阳光. Fortunately, in my case though, the message didn't show up, even when I turned it back on. In other words, the problem might be resolved by restarting "Use detected ADB location" :)

Try update your SDK Tools items, and then delete all currently created emulator and recreate again. it works for me

This might sound normal but I was getting the same error but just updated it and it worked now without any error. I suggests anyone to try for updates first.

If you are stuck after following each of the steps outlined in above, I will suggest you combine more than one answers. The answers of #Kuya and #褚阳光 worked for me. Try them out. I can explain more if the steps are yielding results for you.

This can also be an issue with hyper-v settings on Windows 10 pro. Because with this error I was facing BSOD - https://www.techclassy.com/fix-hypervisor-error-bsod/

I faced the same issue, and I tried following things, which didn't work:
Deleting the existing AVD and creating a new one.
Uninstall latest-existing and older versions (if you have) of SDK-Tools and SDK-Build-Tools and installing new ones.
What worked for me was uninstalling and re-installing latest PLATFORM-TOOLS, where adb actually resides.

I got this error and I tried all the possible solutions that I found on every site, nothing worked.
I was working with flutter, and the command flutter doctor showed me that I need to accept a few agreements
I did that and ADB started to work
So conclusion:
If nothing works, install flutter, run flutter doctor, execute the commands that flutter doctor suggests to you. This should solve your problem
the command was: flutter doctor --android-licenses

I followed the answer, but the magic final step was deleting the existing virtual environment and creating a new one.

Related

Have adb.exe at specified location but still have "adb.exe is obsolete and has serious performance problems" dialog box

I have the adb.exe at "../AppData\Local\Android\Sdk\platform-tools\adb.exe" and even checked the virus chest of antivirus everything is fine.
But still get the dialogue box saying
"adb.exe is obsolete and has serious performance problems".
What worked out for me was after
Create Virtual Device
Choose a device
select Q API Level 29 image with target as Android 10.0 (Google APIs)
not just Android 10.0
and proceed as usual.
Hope its useful for you!
Maybe a bit late but the accepted solution didn't work for me. However the following did:
SDK Manager -> SDK Tools
Delete current Android SDK Build-Tools even if it is the latest version. In my case, I observed it also uninstalled a lot of previous versions
Restart Adroid Studio
Install the latest Android SDK Build-Tools
Restart Adroid Studio
I suspect the problem happened due to some sort of error in incremental updates of adb

Android Studio 4.0 doesn't recognize any previous virtual devices

First post--be gentle. Can't find any posts on Android Studio 4.0, so I hope this isn't a repeat. I updated Android Studio from 3.6.3 to 4.0 on Windows 10 (1909). Had created a couple of virtual devices in 3.6.3 (a Pixel 2 running API 28 and a Pixel 3 running API 29)--both worked great in AS-3.6.3 and I could develop apps, compile, load, and run them with no problem.
After the update to AS-4.0, the virtual devices no longer appear in the devices box at the top of the GUI--it just says "No Devices". When I open the AVD Manager, I can see them, and I can start them (although when I start them I get a pop-up saying "AVD Manager: Unable to locate adb"), but I can't get any code to download and execute on it. On the Pixel 3 emulator, I also get another pop-up saying "Detected ADB: Could not automatically detect an ADB binary.", and it gives instructions to resolve it, which don't make any difference (jump into extended controls and toggle "Use detected ADB location").
When I try to open a past project and run it, I get the same behavior--no devices found.
I've also tried making new emulators, hoping the new setup would recognize them, but to no avail. Tried starting and restarting AS, as well as the computer, also to no avail. I have Android SDK Build-Tools 30-rc4, the latest Android SDK Command-line Tools, Android Emulator 30.0.12 Android SDK Platform-Tools 30.0.1, and the Intel x86 Emulator Accelerator all installed.
I've Googled and spoken words of fierce power over this for several days now. Any suggestions for how to get AS-4.0 to recognize the emulators? I've resisted uninstalling everything and starting over--was hoping it was just a configuration thing.
Thanks in advance,
Uber
After some more Googling, I found the answer here (I think my constraint of wanting an answer for AS-4.0 specifically kept me from finding it):
Could not automatically detect an ADB binary - Android Studio
I had to redownload the SDK platform-tools zip file and reinstall it. I don't know why the old one got messed up with the migration from AS-3.6.3 to 4.0, but there you go--such is life with complicated software.
As soon as I replaced the old platform-tools directory with the new one, all my old emulators showed up and I was back in business.
Thanks anyway!
Uber

Android studio no longer detecting device after update

A few hours ago, my Android studio was working very fine. I could write, build and run on my test device (TECNO K7).
I decided to update my Android Studio to 3.5. The whole process went well except that I cannot find my device among the list of devices any longer. I have also tried with multiple devices, I got the same outcome. When I click on the run-button, the app runs on the Pixel 2 emulator. However, I want it to run on my device.
Here's a screenshot of what my menu looks like. Note that the device (TECNO K7) is currently connected:
Is there something I am doing wrong?
UPDATE:
I tried restarting my ADB server and I go the following error:
Unable to locate ADB.
I have also tried re-installing the following tools multiple times, still the same outcome:
Android SDK tools
Android SDK Build-Tools
Android SDK Platform-Tools
PS: For reference, I use Mac OS and it is also important to remember that my Android studio was working perfectly fine before the update.
Solution:
Drivers not installed: If the Android Physical device is not a Google/Nexus product than you have to download the OEM drivers of the particular model.
HAXM not installed properly : Hardware Accelerated Execution Manager must have not installed properly on your computer. Try reinstalling it directly from the options available in your SDK.
No proper Path : Sometimes though the files are available in the local system, The Android Studio is not guided with the accurate path name to reach the file.
Hope this will be useful to you.
After spending hours on this I found that the Studio update had un-assigned an SDK for my project.
Selecting File -> Project Structure, then selecting an SDK under 'Project SDK' immediately displayed the 'allow debug on this device' dialog on my phone, then within a few seconds after accepting it, the device showed up in the device list.
Go to:
File > Invalidate caches/Restart > Invalidate and Restart
That should work.
Before going to bellow steps make sure
Your "Google USB Driver" package is installed ("Tools" -> "SDK Manager" -> Check "Google USB Driver" -> "Apply" -> "Ok").
If you are trying to access with emulator then check "Intel x86 Emulator Accelarator(HAXM installer)" is instaled. ("Tools" -> "SDK Manager" -> Check "Intel x86 Emulator Accelarator(HAXM installer)"" -> "Apply" -> "Ok")
Go to Tools.
Then go to SDK Manager.
Open SDK tools.
Uncheck "Android SDK Platform-Tools" (On my case it was checked).
press apply then ok.
Again goto Tools.
Then goto SDK Manager.
Open SDK tools.
check "Android SDK Platform-Tools"
Restart Android Studio :)
Hope this will help somebody like me.
This option is definitely not the most optimal. I eventually deduced that the problem was with my HAXM and simply re-installing this would have solved the problem. If you face, this exact problem, simple re-install the HAXM in your SDK.
I hope this helps someone out there.

Android SDK missing with Android Studio 3.1

This question is closed to another question:Android SDK missing with Android Studio 3
I followed all the recommandation already proposed but I still have the issue.
I had some issues when I tried to update my Android Stduio to version 3.1.
Thus, I uninstalled everything, then delete the directories, and cleaned C:\Users\.android, .AndroidStudio, ..
But I always have the same message at the end, indicating that SDK tools directory is missing.
SDK tools directory is missing
And if I enter SDK Components Setup, I have the following window. I cannot click in the Android SDK box (insidcating already installed ?), and at the end the same message than above.
SDK Components Setup
I already spent a full day on this issue and I cannot find the solution. I would really appreciate some help !
I work on Windows 7 (64 bits version)
On the top right corner, there is a the SDK Manager, click on it if the SDK path is not defined install a new one and then set its path to where it is.

Android Studio quick documentation always "fetching documentation"

I just moved to Android Studio from Eclipse, and I found that it always shows "fetching documentation" when I use quick documentation (Ctrl+Q).
How can I solve this problem?
I downloaded the documentation for API 19, and the problem persists.
The problem is Android Studio does not automatically update the source link of reference even when the documentation is already downloaded.
The default link in jdk.table.xml is http://developer.android.com/reference/ (android studio tries to connect to this online server even if the network is blocked).
To solve the problem, we can just redirect the reference to local source.
MacOS
On MacOS, the config file jdk.table.xml is under
~/Library/Preferences/AndroidStudio<version>/options/, and the docs are here:
~/Library/Android/sdk/docs/, or the custom path of your Android SDK.
In jdk.table.xml, find all the lines:
<root type="simple" url="http://developer.android.com/reference/">
and modify them to
<root type="simple" url="file://$USER_HOME$/Library/Android/sdk/docs/reference/">
Windows
On Windows, the file jdk.table.xml is under
C:\Users\Name\.AndroidStudio<version>\config\options
In AndroidStudio 3.3, modify to
<root type="simple" url="file://$USER_HOME$/AppData/Local/Android/sdk/docs/reference" />
Android Studio (any os)
Then, in File -> Invalidate Caches / Restart… select Invalidate, and retry using Quick Documentation. It should display instantly. If it doesn't, select Invalidate and Restart, and you should be good to go.
Update:
On the newest Android Studio versions you can do as following:
Navigate to Tools > SDK Manager
Select the SDK Platforms tab
Make sure the Show Package Details checkbox, at the bottom right, is checked.
Select your target API level from the list, check the Sources for Android [API_Level] and click apply.
For older Android Studio versions:
Go to: Tools > Android > SDK Manager. Select SDK Tools tab and:
if Documentation for Android SDK is unchecked, check it and click apply
If Documentation for Android SDK is checked, uncheck it and click apply. After uninstall completes check it again and click apply.
UPDATE: out-of-date, please check #Htea's answer.
I was having the same issue as you. Here's what fixed it for me:
Make sure you have the Documentation package downloaded in SDK Manager.
Exit Studio if it's running.
Delete the file named "jdk.table.xml" located in ~/.AndroidStudioX.Y/config/options/ (remember to take a backup first!).
Relaunch Android Studio. should work correctly now and it should regenerate the file automatically.
Note:
This worked for me on Ubuntu 14.04 & Android Studio 0.8.11 (EDIT: Several users are reporting this solution also works for newer versions of Android Studio).
If it still doesn't work, try deleting and re-downloading the Documentation package from inside Android SDK Manager then try the above steps.
If you're running Windows, the file is located at "%UserProfile%.AndroidStudio\config\options", and if you're running OS X, it's located at "~/Library/Preferences/AndroidStudio/options" (credits to #Gero and #Alex Lipov).
Hope it helps.
The reason for me was that I had not downloaded sources for my SDK version defined by compileSdkVersion property in the build file (now called compileSdk in AGP 7.0.0).
So, in Android Studio 4.0 and higher do this:
Go to Settings 🡲 Android SDK 🡲 SDK Platforms tab 🡲 select Show Package Details checkbox at the bottom 🡲 under your target API Android section check the Sources for Android xx 🡲 click Ok and wait for the download to finish.
Thanks to Cyn45 for their answer.
As other answers said, it's because the Android Studio is trying to fetch the javadoc online (from http://developer.android.com/reference/), which will be very slow if the network not good, especially in China because google is blocked. So we should change this setting and let Android Studio fetch javadoc locally:
Download Android SDK Documentation using the Android SDK Manager.
Open the file ~/Library/Preferences/AndroidStudio2.2/options/jdk.table.xml, see notes below to make sure the correct file is edited.
In the file jdk.table.xml, replace all http://developer.android.com/reference/ to the path to your sdk reference folder. For example file://$USER_HOME$/tools/adt-bundle-mac/sdk/docs/reference on my Mac.
On OS X, if you have used several versions of Android Studio, there may be several configuration folders for each version (under ~/Library/Preferences/), you should change the jdk.table.xml in the right folder, in my case I should edit jdk.table.xml under the folder AndroidStudio2.2.
On Windows
File location of jdk.table.xml
C:\Users\[your windows user name]\.AndroidStudio2.3\config\options\jdk.table.xml
Notes
"." before AndroidStudio directory
version number after ".AndroidStudio". Be sure to edit the version number of Android Studio you're currently using. Previous versions will still have directories here as well.
Line to edit
Before
<root type="simple" url="http://developer.android.com/reference/" />
After
<root type="simple" url="file://C:/Android/sdk/docs/reference" />
Notes
C:/Android/sdk/docs/reference replace with Android SDK location on your machine
if you're copy/pasting location from File Explorer, replace backslashes (\) with forward slashes (/)
Each installed Android SDK version will have its own docs XML entry
Edit the line above in each SDK version found in jdk.table.xml (if you want quick docs when targeting those versions in build.gradle). e.g. If you have Android SDK API 25 installed, you'd find a section to edit under <name value="Android API 25 Platform" />
Invalidate Caches / Restart after change!
File -> Invalidate Caches / Restart...
I also found this issue with Android studio 0.8.9 & 0.8.14, here's a simple solution:
File -> Invalid Caches/Restart -> Invalidate and Restart
Sometimes the documentation package may be missing or not up-to-date.
Try open the Android SDK manager(Tool->Android->SDK Manager) and install the 'Documentation for Android SDK' in the latest release, for now it's Android 5.0(API 21), then restart Android studio.
If this happens again, just invalidate the caches.
For android studio 3.4, all you need to do is go to sdk manager -> SDK Tools, check "Documentation for Android SDK" and click apply.
It will automatically update the jdk.table.xml to point to the source you have downloaded.
I found a solution.
Close the android studio and delete the c:\Users\xxx.AndroidStudioBeta\ (in my case)
Change the android sdk path name
Open the android studio, it will ask for the sdk path
Now you can change back the sdk path or using the new sdk path.
You will find Ctrl+Q will work fine. (Don't import old setting)
I think we need download the sdk document before set the sdk path to Android studio. But the Android studio should handle this case or give us a option to set it.
For a quick workaround edit /etc/hosts (or C:\Windows\System32\Drivers\etc\hosts) file and add the line:
0.0.0.0 developer.android.com
This will prevent it but you can comment it out when you need to fetch the latest or ones not cached or read the docs online.
UPDATE: From unknown exactly version, just simply download Android Documentation in SDK Manager could fix the problem. My 3.4.1 do so.
But I don't know whether older version could works as well or not.
I meet the same issue too,but I solved it just now. I used the Android Studio with SDK before I solved it,and then I download a Android Studio Zip without SDK,and run it,and the issue disappeared.
You can try it.
you can disable it, in Android Studio Preference
Android Studio -> Preference -> Editor -> General -> Code Completion -> Show the documentation pupup in XX ms
see my another answer Link

Resources