Keywords: Eclipse | ADT Update | Android SDK Compatibility
Abstract: This paper systematically addresses the common error "This Android SDK requires Android Developer Toolkit version 20.0.0 or above" encountered by Android developers when updating ADT in Eclipse. It begins by analyzing the root cause of version mismatch between ADT and Android SDK, then provides detailed solutions through Eclipse's built-in update mechanism and manual software source addition. Through comparative analysis, the paper also discusses the impact of network connectivity issues on the update process and offers specific steps to verify successful updates. Finally, it summarizes best practices for maintaining synchronized development environments to help developers avoid similar compatibility problems.
Problem Background and Error Analysis
In the Android development environment, the Eclipse Integrated Development Environment (IDE) works in conjunction with the Android Software Development Kit (SDK) through the Android Development Tools (ADT) plugin. When developers update Android SDK components, they frequently encounter version compatibility issues, typically manifested as an error message upon launching Eclipse: "This Android SDK requires Android Developer Toolkit version 20.0.0 or above. Current version is 16.0.0.v201203301601-306762. Please update ADT to the latest version."
Root Cause Analysis
The essence of this error is the mismatch between the ADT plugin version and the Android SDK version. Updates to Android SDK Tools and Platform Tools (such as revision 20) introduce new features or API changes that require corresponding ADT plugin support. If only the SDK is updated without updating ADT, version conflicts occur. The following code example illustrates the logical principle of version checking:
public class VersionValidator {
private static final int REQUIRED_ADT_VERSION = 20;
public boolean checkCompatibility(int currentADTVersion) {
if (currentADTVersion < REQUIRED_ADT_VERSION) {
throw new CompatibilityException(
"This Android SDK requires ADT version " + REQUIRED_ADT_VERSION +
" or above. Current version is " + currentADTVersion
);
}
return true;
}
}
In practical scenarios, when developers update Tools and Platform Tools via Android SDK Manager, the SDK detects the outdated ADT version and prevents Eclipse from launching normally.
Standard Update Procedure
The most direct solution is through Eclipse's built-in update mechanism. The operational steps are as follows:
- Launch Eclipse (if possible) or use a backup of the old Eclipse version
- Navigate to
Help > Check for Updates - The system automatically detects available ADT updates
- Follow the prompts to complete the update and restart Eclipse
This method leverages Eclipse's plugin management system, which automatically handles dependency resolution and version conflicts.
Alternative Solution: Manual Software Source Addition
When the standard update procedure fails, manual configuration of the ADT update source is required. Specific operations include:
- In Eclipse, select
Help > Install New Software - Click the
Addbutton - In the Location field, enter:
https://dl-ssl.google.com/android/eclipse/ - Assign a descriptive name to the update source (e.g., "ADT Update Site")
- Select the ADT update package from the available software list
- Complete the installation and restart Eclipse
This URL is the ADT update repository maintained by Google, containing all historical and latest versions. The following configuration example shows the XML description of the update source:
<repository>
<url>https://dl-ssl.google.com/android/eclipse/</url>
<name>ADT Update Site</name>
<features>
<feature id="com.android.ide.eclipse.adt" version="20.0.0">
<plugin id="com.android.ide.eclipse.adt" download-size="0" install-size="0"
version="20.0.0" unpack="false">
</plugin>
</feature>
</features>
</repository>
Handling Network Connectivity Issues
During the update process, network connectivity issues may arise, as shown in the error log:
Failed to fetch URL https://dl-ssl.google.com/android/repository/addon.xml, reason: dl-ssl.google.com
Such errors typically do not affect core ADT updates, as they involve additional component repositories. Developers can take the following measures:
- Check network proxy settings
- Temporarily disable firewalls or security software
- Use HTTP instead of HTTPS (change URL to
http://dl-ssl.google.com/android/eclipse/)
Update Verification and Troubleshooting
After completing the ADT update, verification is necessary:
- Restart Eclipse and check if the error message disappears
- Navigate to
Window > Preferences > Android - Verify that SDK Location correctly points to the updated Android SDK
- Check the ADT plugin version in
About Eclipse
If the problem persists, consider the following advanced solutions:
- Completely uninstall and reinstall ADT
- Launch Eclipse with a clean configuration (via the
-cleanparameter) - Examine cache files in the
.eclipseand.androiddirectories
Version Management Best Practices
To avoid similar issues in the future, it is recommended to follow these version management principles:
- Synchronized Updates: When updating Android SDK, simultaneously check ADT update requirements
- Version Logging: Maintain a change log for development environment versions
- Backup Strategy: Backup Eclipse configurations and projects before significant updates
- Phased Updates: Validate updates in a testing environment before applying to production
By implementing automated version checking scripts, compatibility issues can be detected early:
#!/bin/bash
# Check ADT and SDK version compatibility
ADT_VERSION=$(eclipse -version | grep ADT | cut -d' ' -f3)
SDK_VERSION=$(cat $ANDROID_HOME/tools/source.properties | grep Pkg.Revision | cut -d'=' -f2)
if [[ "$ADT_VERSION" < "20.0.0" && "$SDK_VERSION" >= "20" ]]; then
echo "Warning: ADT version($ADT_VERSION) incompatible with SDK version($SDK_VERSION)"
echo "Please update ADT via 'Help > Check for Updates'"
fi
Conclusion
Version compatibility between ADT and Android SDK is crucial for the stability of the Android development environment. By understanding version dependency mechanisms, mastering standard update procedures, and familiarizing with alternative solutions, developers can effectively resolve errors like "This Android SDK requires Android Developer Toolkit version 20.0.0 or above." Maintaining synchronized updates of the development toolchain not only prevents compatibility issues but also ensures full utilization of the latest development features and performance optimizations.