1Change log for Android SDK Tools. 2 3Revision 22.2.1: 4- Emergency fix to new project templates. 5 6Revision 22.2.0: 7 8Revision 22: 9 10Revision 20: 11- Ant build system: 12- Ant build system: 13 * the location of the SDK can now be set through the ANDROID_HOME 14 environment variable (requires updating the project's build.xml file) 15 * Fixed issues with compilation, deployment of test projects and running tests. 16 Both separate test projects and self-contained app+test projects now work. 17 * Aidl files from library projects are now in the import list. 18 19Revision 19: 20- Fix GPU rendering 21 22Revision 18: 23* Fix Ant issues where some jar libraries in libs/ are not picked in some 24 cases 25* New version of SdkController 26 27Revision 17: 28* Bug fixes. 29* ProGuard updated to version 4.7. In addition to many new features, 30 this will fix the "Conversion to Dalvik format failed with error 1" 31 error some users have experienced. 32* The default proguard.cfg file has been updated with better 33 flags. 34* Lint now checks Java code, and checks which previously performed 35 pattern based searches in the Java code (such as the unused resource 36 check) have been rewritten to use the more accurate Java parse 37 trees. 38* Lint supports library projects, so for example the unused resource 39 check will properly handle resources declared in a library project 40 and referenced in a downstream project. 41* Lint warnings can be suppressed in Java code with the new 42 @SuppressLint annotation, and in XML files with the new tools: 43 namespace and ignore-attribute. 44* New lint checks: 45 * Find Android API calls that require a version of Android higher 46 than the minimum supported version. You can use the new @TargetApi 47 annotation to specify local overrides for conditionally loaded 48 code. 49 * Find object allocations within onDraw, onMeasure and onLayout 50 calls 51 * Find usages of HashMap<Integer,X> which can be replaced by the 52 more efficient SparseArray, SparseIntArray or SparseBooleanArray 53 * Find typos in XML namespace declarations, as well as unused custom 54 namespace declarations and usages of custom namespaces in library 55 projects which do not yet work 56 * Find manifest files which declare more than one <uses-sdk> 57 elements, or which fail to declare minSdkVersion or 58 targetSdkVersion 59 * Check dialog button order such that OK/Cancel are in the right 60 order (depending on the target version of Android), that they are 61 using the standard case ("OK", not "Ok" or "ok" etc), and that 62 there aren't any Back buttons. 63 * Check menus to ensure that they are using "ifRoom" instead of 64 "always" for the showAsAction attribute (unless it's used 65 sparingly) 66 * Find hardcoded android:debuggable attributes on <application> 67 elements. This can lead to accidentally leaving debug information 68 in published applications. 69 * Find errors in format strings. This includes inconsistencies 70 between translated versions, as well as incompatible types 71 declared in XML and supplied in the String.format call in Java. 72 * Find incorrect casts in Java code where the cast is incompatible 73 with the view type declared in XML layouts. 74 * Find hardcoded references to "/sdcard" in Java code; these should 75 be using Environment.getExternalStorageDirectory().getPath() 76 instead 77 * Find "import android.R" statements in Java code, which can lead to 78 confusing compilation error messages 79 * Find Java code which creates world-writeable files (which can lead 80 to security problems) 81 * Find references to private resources (which can lead to runtime 82 errors on devices that do not provide the resource, since private 83 resources may disappear any time, and may not be present on all 84 platforms.) 85 * Find invalid @id references (where for example a RelativeLayout 86 references an id that does not exist anywhere). If no match is 87 found, it looks for spelling mistakes and suggests other similar 88 ids in the error message. 89 * Finds method calls to java.lang.Math where a float variable is 90 cast to a double and/or the return value is cast to a float, and 91 suggests replacing it with the equivalent android.util.FloatMath 92 method. 93 * Finds calls to a getter on the same class where a field could be 94 accessed instead. 95 * Find XML files using a different encoding format than UTF-8, since 96 this can lead to subtle bugs (and lint was fixed to properly use 97 the specified encoding) 98 * Find XML resource files that contain text which should not be 99 there (such as in layouts). This can identify accidentally 100 malformed documents which happen to be valid XML, such as a 101 missing "<" tag opening character. 102 * Find style references which lead to cycles, such as extending 103 self. 104 105Revision 16: 106* New "lint" tool which scans Android project trees for potential 107 problems such as missing translations, duplicate ids between layouts 108 that include each other, using px instead of dp units, hardcoded 109 strings, missing contentDescriptions, obsolete Proguard 110 configuration files, etc. For a full list of available issues run 111 "lint --show" (and see eclipse/changes.txt for further details). 112* layoutopt was removed; its functionality is replaced by the new lint 113 tool 114 115Revision 14: 116 117- Build performance improvements: 118 * resource compilation and packaging now properly use dependency to only 119 be executed if a resource changed. 120 * Optimized resource compilation for projects with libraries. This should 121 speed up this phase significantly for large projects with libraries. 122 * PNG files that are optimized during resource packaging are now cached 123 and only re-optimized if they changed instead of doing at every build. 124- New library project mechanism: 125 * 126 127Revision 13: 128 129Revision 12: (07/2011): 130- The AVD manager and emulator can now use system images compiled for ARM v7 and 131 x86 CPUs. 132 133Revision 11 (05/2011): 134- See eclipse/changes.txt for ADT related changes. 135 136Revision 10 (02/2011): 137- The tools now automatically generate Java Programming Language 138 source files (in the gen directory) and bytecode (in the res/raw 139 directory) from your native .rs files 140 141Revision 9 (01/2011): 142- Fix packaging issue that broke draw9patch 143- Ant build rules will now check the Ant version and fail if it's older than 1.8 144- Fix "folder locked" errors when installing packages in SDK Manager on Windows. 145- Support https proxy when installing from SDK Manager. 146- SDK Manager now suggests to install missing base platform for add-ons. 147- Default proguard config file changes: 148 * ignore classes extending android.preference.Preference 149 * ignore classes extending android.app.backup.BackupAgentHelper 150- Ant lib rules now allow for overriding java.encoding, java.source, and java.target 151- Default encoding for Ant javac is now UTF-8 152- Logcat view in DDMS now properly displays UTF-8 characters. 153 154 155Revision 8 (12/2010): 156- New SDK component: platform-tools. This makes all platforms use the same 157 latest version of aapt/aidl/dx. 158- Support for true debug build. No need to change the value of debuggable in 159 the Android Manifest. 160 "ant debug" will automatically insert debuggable==true, while "ant release" 161 will not. 162 If debuggable=true is set, then "ant release" will actually do a debug build. 163- Automatic Proguard support in release builds. Only need to have a proguard.config 164 property in default.properties that points to a proguard config file. 165- new overridable Ant javac properties: java.encoding, java.source, and java.target 166 (default to "ascii", "1.5" and "1.5") 167 168 169Revision 7 (09/2010): 170- Support for Ant rules provided by the Tools components (override the one in 171 the platform component) 172- Added support for libraries with library dependencies. 173- Support for aidl files in library projects. 174- Support for extension targets in Ant build to perform tasks between the 175 normal tasks: -pre-build, -pre-compile, -post-compile. 176- Headless SDK update. See 'android -h update sdk' for more info. 177- Fixed location control in DDMS to work in any locale not using '.' as a 178 decimal point. 179 180 181Revision 6 (05/2010) 182- Support for library project to share code/resources among projects 183 - Updated Ant rules and custom tasks 184 - New "android create lib-project", "android update lib-project" actions. 185 - New parameter for "android update project" 186 187 188Revision 5 (03/2010): 189- AVD/SDK Manager: 190 - Fixed SSL download for the standalone version of the SDK Updater. 191 - Fixed issue with 64bit JVM on windows. 192 - Add support for samples components. 193 - improved support for dependency between components. 194 - AVDs now sorted by API level. 195 - Prevent deletion of running AVDs. 196 - Settings are now automatically saved, no need to click Apply. 197- Emulator now requires sd card to be 9MB and above. 198- Fixed layoutopt.bat to correctly execute on Windows. 199 200