Change log for Android SDK Tools.

Revision 20:
- 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.

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.

