Message - An issue with Android support (Legacy)

Applies to TestComplete 15.73, last modified on March 04, 2025
The information below concerns legacy mobile tests that work with mobile devices connected to the local computer. For new mobile tests, we recommend using the newer cloud-compatible approach.

Why Do You See This Message

To communicate with Android devices, TestComplete uses the Android Debug Bridge (ADB) utility from the Android SDK (see About Testing Android Applications (Legacy)). When starting, TestComplete checks whether an ADB instance is running in the operating system and whether this instance can be used for Android testing. If TestComplete detects an ADB instance that cannot be used for testing, it attempts to terminate it and to start the supported version of ADB. If TestComplete is unable to terminate the currently running ADB instance, it displays this message to inform you about the problem and to suggest possible solutions.

What ADB Version TestComplete Uses for Testing

TestComplete uses the ADB executable that it finds in the folder (or subfolders of the folder) that is specified by the TestComplete Path to Android SDK setting. This executable is considered to be the version that is included in the Android SDK.

Some software, for example, HTC Sync Manager, includes a custom version of the ADB utility that may function differently than TestComplete expects. To avoid issues, TestComplete tries to terminate “non-standard” ADB instances and to run an ADB instance from the Android SDK.

Possible Causes and Solutions

  • TestComplete does not have enough permissions for terminating the running ADB instance.

    This can happen, for example, if the current instance of ADB has been started by some application that has higher permissions than the permissions, which TestComplete has.

    To solve the problem, terminate the currently running ADB instance manually (see below). Then, return to the message box and choose to continue running TestComplete. TestComplete will launch the supported ADB instance and will use it.

  • ADB does not respond to TestComplete requests.

    It is quite possible that TestComplete recognizes the currently running ADB instance as supported, but is unable to work with it, because it does not respond to TestComplete requests (possibly, it hangs). This can happen, for example, if you have too many devices connected to the current ADB instance. On Windows, ADB cannot handle more than 64 port forwardings (see the issue description in the Android Issue Tracker).

    To solve the issue, disconnect the unneeded devices and terminate the ADB process manually (see below). Then, return to the message box and choose to continue running TestComplete. TestComplete will launch ADB and will use it.

How to Terminate the ADB Process

You can terminate ADB from the Windows Task Manager:

  • Open Windows Task Manager (to do this, for example, press Ctrl+Shift+Esc).

  • On the Processes tab, select adb.exe.

    Note: If adb.exe is not on the list, click Show processes from all users.
  • Click End Process and confirm the action.

Notes

  • If you use a “non-standard” ADB version, we would recommend that you uninstall the software package (such as HTC Sync Manager) that includes this non-standard version from your computer.

  • If you start ADB outside of TestComplete, make sure that TestComplete has the same or higher permissions than ADB. For instance, if you started ADB with permissions of your user account, run TestComplete with the same permissions or with administrator permissions.

    Also, note that TestComplete launches ADB automatically when you explore mobile applications in the Object Browser, or invoke the Mobile Screen window. So, we recommend that you use the same level of permissions for TestComplete if you close and start it several times during your user session in the operating system. That is, if you start TestComplete with administrator privileges, then start it next time during the session with administrator privileges too. If you start it with administrator privileges for the first time, then the ADB instance that is launched by TestComplete will also have administrator privileges. Now, if you launch TestComplete without administrator privileges next time, it will be unable to work with the running ADB instance.

See Also

About Testing Android Applications (Legacy)
Preparing Test Computers and TestComplete for Android Testing (Legacy)
Android Options Dialog

Highlight search results