Added a cache management system for pre-processed PNG files
along with unit tests. The cache system will be used if
the --no-crunch flag is passed to AAPT during the package
phase. The cache can be updated by a call to 'aapt crunch'
(see usage statement). Also put in benchmarking code.
Change-Id: I58271fb2ee2f5f9075fd74d4ff6f15e7afabd05c
Make Aapt generate a dependency file in the same directory as the
output ap_ file if the --generate-dependencies flag is set.
This dependency file can then be read by the ant exec loop task
to see whether to repackage resources.
Change-Id: I763679414daf76369700aa599c26dcf78d4de099
Make Aapt generate a dependency file in the location specified
by RClassDir for R.java if the --generate-dependencies flag is set.
This dependency file is then read by the ant exec loop task
to see whether to recreate R.java.
Change-Id: I7152dac86b6ea0e448ef65e3a95694afe233c789
This change adds functionality in Aapt to allow specification of
library projects to copy the generated R.java file into rather
than regenerating the file for each library project.
Change-Id: I05939d1dc875bd875be9298ca47cb639235070c6
This is a new way of determining whether an application requires
specific orientations, done by looking at any requirements in its
activity tags. Note that this won't catch all possible issues,
because applications can still force an orientation through Java
APIs, but the vast majority of applications that actually require
a specific orientation should be doing it this way because it the
easiest way and the only way to cleanly launch into the app from
a different orientation without doing some serious activity tricks.
Change-Id: I11d32104f6bc3d2a72aeeff1ca150b8f1c9f5588
Updates aapt to know about these. Also updates aapt badging to:
- No longer crash due to the change to how we match unspecified
configuration resources.
- Report the new "smallest screen" supported screen configs.
- Infer old screen size buckets based on new smallest width attrs.
- Report all of the different labels and icons in an app.
Change-Id: I7376042b817391bd070f549cebbc7f03be4635c8
* commit '0ccc8b7345eac0b507c221be47e55926cbda8957':
GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen).
Merge commit 'b58af2b8b3871436942d0e2c878c906bffaa2fb0'
* commit 'b58af2b8b3871436942d0e2c878c906bffaa2fb0':
Adding a new <uses-gl-texture/> tag, to be used to enable apps to specify
Merge commit '31103928ed5b9091bcd7de74c8a49675d10c87e7'
* commit '31103928ed5b9091bcd7de74c8a49675d10c87e7':
Implement #2964234: Add support for <uses-package> element to aapt
The Local File Header (LFH) offset is printed in debugging cases when
the platform is inspecting APKs. This adds the LFH offset field to the
list of contents of an APK, so that it can be checked easily against the
Central Directory (CD).
Change-Id: I08f9a13256bfe6563c1a963c4f0289789b2e7857
- Fixes casting problems with stricter compilers
- Adds a couple of missing ifdef guards
This is a first step toward being able to generate APKs on the fly on the device.
Bug: 2766918
Change-Id: Icaaee5a4032afa313256add321b447443861dd85
that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be
presumed to require Bluetooth just because they take the permission.
Change-Id: Ia629e9ef0425a577e4e14f9b348f5aa2b39c1e74
This loosens our restriction on many manifest attributes requiring
literal string values, to allow various ones to use values from
resources. This is only allowed if the resource value does not change
from configuration changes, and the restriction is still in place
for attributes that are core to security (requesting permissions) or
market operation (used libraries and features etc).
Change-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8
And related:
- The aapt tool now sets a resource configurations sdk level to match any configs
that have been set (for example if you specify density your sdk level will be
at least 4).
- New option to modify the targetPackage attribute of instrumentation.
- Clean up of aapt options help.
- Fix of UI type values to leave 0 for "unspecified".
- Make the UI mode config APIs public.
Merge commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b' into eclair-mr2-plus-aosp
* commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b':
Optional use of UTF-8 strings in resource bundles
Allows the use of UTF-8 for packing resources instead of the
default of UTF-16 for Java. When strings are extracted from the
ResStringPool, they are converted to UTF-16 and the result is
cached for subsequent calls.
When using aapt to package, add in the "-8" switch to pack the
resources using UTF-8. This will result in the value, key, and
type strings as well as the compiled XML string values taking
significantly less space in the final application package in
most scenarios.
Change-Id: I129483f8b3d3b1c5869dced05cb525e494a6c83a
This is needed to add library support to the SDK.
The goal is to have libraries and main project use the same
package for the R/Manifest classes to that they can share code
and resources.
BUG 2293994
Change-Id: Ie4cdb5a3bdabe1760a91316fd8969e4f53344bf9
Merge commit '617262d8f57362536ddc00a070c1c0994741de44' into eclair-plus-aosp
* commit '617262d8f57362536ddc00a070c1c0994741de44':
add "junk path" -k option to aapt (DO NOT MERGE)
Adds a "junk path" option to aapt so that you can do:
aapt add -k archive.zip path/to/some.file
and have the file stored in the zip under the name "some.file"
(without the path). Needed so that we can use 'aapt add' in place of
'zip -j' when building jar files, which will lead to smaller
incremental OTAs.
(This is a cherry-pick of a change already submitted to eclair-mr2;
the change was approved for mr1.)
Adds a "junk path" option to aapt so that you can do:
aapt add -k archive.zip path/to/some.file
and have the file stored in the zip under the name "some.file"
(without the path). Needed so that we can use 'aapt add' in place of
'zip -j' when building jar files, which will lead to smaller
incremental OTAs.
Merge commit 'f1871e273e1bf49d72a7f2ef51a4ef377d8f3112' into eclair-plus-aosp
* commit 'f1871e273e1bf49d72a7f2ef51a4ef377d8f3112':
Fix issue with printing gles version in aapt dump badging option
If the name attribute for uses-feature or uses-permission is empty
the error value is still empty indicating error and preventing the
else part from being checked as it should be.
When trying to print an xmltree or xmlstrings from aapt, the error
message if the resource didn't exist erroneously printed a pointer
instead of a string.
Change-Id: I317bbbdc1200e0f10922e80a36e41a22b2d50d0d