| 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. | 
 |  |