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