|  | Change log for Android SDK Tools. | 
|  |  | 
|  | Revision 22.2.1: | 
|  | - Emergency fix to new project templates. | 
|  |  | 
|  | Revision 22.2.0: | 
|  |  | 
|  | Revision 22: | 
|  |  | 
|  | Revision 20: | 
|  | - Ant build system: | 
|  | - Ant build system: | 
|  | * the location of the SDK can now be set through the ANDROID_HOME | 
|  | environment variable (requires updating the project's build.xml file) | 
|  | * Fixed issues with compilation, deployment of test projects and running tests. | 
|  | Both separate test projects and self-contained app+test projects now work. | 
|  | * Aidl files from library projects are now in the import list. | 
|  |  | 
|  | Revision 19: | 
|  | - Fix GPU rendering | 
|  |  | 
|  | Revision 18: | 
|  | * Fix Ant issues where some jar libraries in libs/ are not picked in some | 
|  | cases | 
|  | * New version of SdkController | 
|  |  | 
|  | Revision 17: | 
|  | * Bug fixes. | 
|  | * ProGuard updated to version 4.7. In addition to many new features, | 
|  | this will fix the "Conversion to Dalvik format failed with error 1" | 
|  | error some users have experienced. | 
|  | * The default proguard.cfg file has been updated with better | 
|  | flags. | 
|  | * Lint now checks Java code, and checks which previously performed | 
|  | pattern based searches in the Java code (such as the unused resource | 
|  | check) have been rewritten to use the more accurate Java parse | 
|  | trees. | 
|  | * Lint supports library projects, so for example the unused resource | 
|  | check will properly handle resources declared in a library project | 
|  | and referenced in a downstream project. | 
|  | * Lint warnings can be suppressed in Java code with the new | 
|  | @SuppressLint annotation, and in XML files with the new tools: | 
|  | namespace and ignore-attribute. | 
|  | * New lint checks: | 
|  | * Find Android API calls that require a version of Android higher | 
|  | than the minimum supported version. You can use the new @TargetApi | 
|  | annotation to specify local overrides for conditionally loaded | 
|  | code. | 
|  | * Find object allocations within onDraw, onMeasure and onLayout | 
|  | calls | 
|  | * Find usages of HashMap<Integer,X> which can be replaced by the | 
|  | more efficient SparseArray, SparseIntArray or SparseBooleanArray | 
|  | * Find typos in XML namespace declarations, as well as unused custom | 
|  | namespace declarations and usages of custom namespaces in library | 
|  | projects which do not yet work | 
|  | * Find manifest files which declare more than one <uses-sdk> | 
|  | elements, or which fail to declare minSdkVersion or | 
|  | targetSdkVersion | 
|  | * Check dialog button order such that OK/Cancel are in the right | 
|  | order (depending on the target version of Android), that they are | 
|  | using the standard case ("OK", not "Ok" or "ok" etc), and that | 
|  | there aren't any Back buttons. | 
|  | * Check menus to ensure that they are using "ifRoom" instead of | 
|  | "always" for the showAsAction attribute (unless it's used | 
|  | sparingly) | 
|  | * Find hardcoded android:debuggable attributes on <application> | 
|  | elements. This can lead to accidentally leaving debug information | 
|  | in published applications. | 
|  | * Find errors in format strings. This includes inconsistencies | 
|  | between translated versions, as well as incompatible types | 
|  | declared in XML and supplied in the String.format call in Java. | 
|  | * Find incorrect casts in Java code where the cast is incompatible | 
|  | with the view type declared in XML layouts. | 
|  | * Find hardcoded references to "/sdcard" in Java code; these should | 
|  | be using Environment.getExternalStorageDirectory().getPath() | 
|  | instead | 
|  | * Find "import android.R" statements in Java code, which can lead to | 
|  | confusing compilation error messages | 
|  | * Find Java code which creates world-writeable files (which can lead | 
|  | to security problems) | 
|  | * Find references to private resources (which can lead to runtime | 
|  | errors on devices that do not provide the resource, since private | 
|  | resources may disappear any time, and may not be present on all | 
|  | platforms.) | 
|  | * Find invalid @id references (where for example a RelativeLayout | 
|  | references an id that does not exist anywhere). If no match is | 
|  | found, it looks for spelling mistakes and suggests other similar | 
|  | ids in the error message. | 
|  | * Finds method calls to java.lang.Math where a float variable is | 
|  | cast to a double and/or the return value is cast to a float, and | 
|  | suggests replacing it with the equivalent android.util.FloatMath | 
|  | method. | 
|  | * Finds calls to a getter on the same class where a field could be | 
|  | accessed instead. | 
|  | * Find XML files using a different encoding format than UTF-8, since | 
|  | this can lead to subtle bugs (and lint was fixed to properly use | 
|  | the specified encoding) | 
|  | * Find XML resource files that contain text which should not be | 
|  | there (such as in layouts). This can identify accidentally | 
|  | malformed documents which happen to be valid XML, such as a | 
|  | missing "<" tag opening character. | 
|  | * Find style references which lead to cycles, such as extending | 
|  | self. | 
|  |  | 
|  | Revision 16: | 
|  | * New "lint" tool which scans Android project trees for potential | 
|  | problems such as missing translations, duplicate ids between layouts | 
|  | that include each other, using px instead of dp units, hardcoded | 
|  | strings, missing contentDescriptions, obsolete Proguard | 
|  | configuration files, etc. For a full list of available issues run | 
|  | "lint --show" (and see eclipse/changes.txt for further details). | 
|  | * layoutopt was removed; its functionality is replaced by the new lint | 
|  | tool | 
|  |  | 
|  | Revision 14: | 
|  |  | 
|  | - Build performance improvements: | 
|  | * resource compilation and packaging now properly use dependency to only | 
|  | be executed if a resource changed. | 
|  | * Optimized resource compilation for projects with libraries. This should | 
|  | speed up this phase significantly for large projects with libraries. | 
|  | * PNG files that are optimized during resource packaging are now cached | 
|  | and only re-optimized if they changed instead of doing at every build. | 
|  | - New library project mechanism: | 
|  | * | 
|  |  | 
|  | Revision 13: | 
|  |  | 
|  | Revision 12: (07/2011): | 
|  | - The AVD manager and emulator can now use system images compiled for ARM v7 and | 
|  | x86 CPUs. | 
|  |  | 
|  | Revision 11 (05/2011): | 
|  | - See eclipse/changes.txt for ADT related changes. | 
|  |  | 
|  | Revision 10 (02/2011): | 
|  | - The tools now automatically generate Java Programming Language | 
|  | source files (in the gen directory) and bytecode (in the res/raw | 
|  | directory) from your native .rs files | 
|  |  | 
|  | Revision 9 (01/2011): | 
|  | - Fix packaging issue that broke draw9patch | 
|  | - Ant build rules will now check the Ant version and fail if it's older than 1.8 | 
|  | - Fix "folder locked" errors when installing packages in SDK Manager on Windows. | 
|  | - Support https proxy when installing from SDK Manager. | 
|  | - SDK Manager now suggests to install missing base platform for add-ons. | 
|  | - Default proguard config file changes: | 
|  | * ignore classes extending android.preference.Preference | 
|  | * ignore classes extending android.app.backup.BackupAgentHelper | 
|  | - Ant lib rules now allow for overriding java.encoding, java.source, and java.target | 
|  | - Default encoding for Ant javac is now UTF-8 | 
|  | - Logcat view in DDMS now properly displays UTF-8 characters. | 
|  |  | 
|  |  | 
|  | Revision 8 (12/2010): | 
|  | - New SDK component: platform-tools. This makes all platforms use the same | 
|  | latest version of aapt/aidl/dx. | 
|  | - Support for true debug build. No need to change the value of debuggable in | 
|  | the Android Manifest. | 
|  | "ant debug" will automatically insert debuggable==true, while "ant release" | 
|  | will not. | 
|  | If debuggable=true is set, then "ant release" will actually do a debug build. | 
|  | - Automatic Proguard support in release builds. Only need to have a proguard.config | 
|  | property in default.properties that points to a proguard config file. | 
|  | - new overridable Ant javac properties: java.encoding, java.source, and java.target | 
|  | (default to "ascii", "1.5" and "1.5") | 
|  |  | 
|  |  | 
|  | Revision 7 (09/2010): | 
|  | - Support for Ant rules provided by the Tools components (override the one in | 
|  | the platform component) | 
|  | - Added support for libraries with library dependencies. | 
|  | - Support for aidl files in library projects. | 
|  | - Support for extension targets in Ant build to perform tasks between the | 
|  | normal tasks: -pre-build, -pre-compile, -post-compile. | 
|  | - Headless SDK update. See 'android -h update sdk' for more info. | 
|  | - Fixed location control in DDMS to work in any locale not using '.' as a | 
|  | decimal point. | 
|  |  | 
|  |  | 
|  | Revision 6 (05/2010) | 
|  | - Support for library project to share code/resources among projects | 
|  | - Updated Ant rules and custom tasks | 
|  | - New "android create lib-project", "android update lib-project" actions. | 
|  | - New parameter for "android update project" | 
|  |  | 
|  |  | 
|  | Revision 5 (03/2010): | 
|  | - AVD/SDK Manager: | 
|  | - Fixed SSL download for the standalone version of the SDK Updater. | 
|  | - Fixed issue with 64bit JVM on windows. | 
|  | - Add support for samples components. | 
|  | - improved support for dependency between components. | 
|  | - AVDs now sorted by API level. | 
|  | - Prevent deletion of running AVDs. | 
|  | - Settings are now automatically saved, no need to click Apply. | 
|  | - Emulator now requires sd card to be 9MB and above. | 
|  | - Fixed layoutopt.bat to correctly execute on Windows. | 
|  |  |