History log of /frameworks/base/tools/aapt/Bundle.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
22d7cf239d8a9b009ea7adf86d8826a8a8116d03 21-Dec-2012 Xavier Ducrohet <xav@android.com> Add single crunch command to aapt. do not merge.

Previously the crunch command would work on a full res folder
and output a full res folder (with only the drawables). This
was only used in the SDK.

The incremental logic is moved to the SDK build system so we
change the crunch command (or rather add a new one) to only
crunch a single file.

(cherry picked from commit b1f6ad82dd8d1702617a757a88430604b3131fac)

Change-Id: I3653f67ee321eac37cb8a6d228b1ef6d104ff0be
/frameworks/base/tools/aapt/Bundle.h
f5de650ff1e161ea135c828e43515895343d2c0f 11-Sep-2012 Xavier Ducrohet <xav@android.com> Add --output-text-symbols option to aapt.

Library projects in the SDK are built using --non-constant-id
to generate a temporary R.java class.
When the library is packaged with the application to generate an
apk, the R class is recreated with the proper IDs due to all the
resources coming from the app and all the libraries.

However for large apps with many libraries (each with their own
R class in their package), this means a lot of unnecessary IDs:
all R classes contains all the IDs including for resources from
by projects they don't have access through the dependency graph.

For really large apps (X,000 resources), with lots of libraries
(10+), this can generate tens of thousands of resources, which
can trigger dalvik's limit of 65K fields and methods per dex
files.

This changes lets aapt generate not only the R class but a simple
text file containing the list of all those IDs so that it is
easier to parse back. The SDK build system will not ask aapt
to generate the R class of the libraries (through the
--extra-packages option), instead it will then read this
file to know what IDs are needed for each library and generate
a much smaller R class for each library (using the same text
file output from compiling all the resources to get the final
integer value).

Change-Id: I4db959fec372cf3ead9950e4b2b82fa1ae7eed2d
/frameworks/base/tools/aapt/Bundle.h
7714a2429b192c88e134ff67b969121bbaeb5457 06-Sep-2012 Xavier Ducrohet <xav@android.com> Add --error-on-failed-insert option to aapt.

The new SDK build system give the ability to insert
versionCode/Name and min/targetSdkVersion in the manifest
but aapt won't replace those if they already exist.

The main problem is that aapt doesn't actually fail when
it doesn't replace them, making the output not what the
developer wanted.

This patch set adds an option to aapt to make it return
an error if the insert failed because the attribute
already existed.

Change-Id: I8938ec1238da407a8562c974e9598db39001ffd9
/frameworks/base/tools/aapt/Bundle.h
cc6cf51b80eabd199f797f40b76f7980c343962b 22-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am 8c71784e: Merge "Initialize mJunkPath to false"

* commit '8c71784e9e83e914135e996591aa7903edd2fd96':
Initialize mJunkPath to false
dbcfed9e2cad3175109aca4b55bbe41da7238a4f 22-Jun-2012 Haitao Feng <haitao.feng@intel.com> Initialize mJunkPath to false

Change-Id: Ib48bb1d91736d27f055528c3ba275237ff5ada07
/frameworks/base/tools/aapt/Bundle.h
39b58ba2b299e1c97e13535aae9add530d942c7b 01-May-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of bc2fb7b9 to jb-dev-plus-aosp

Change-Id: I5386585e473201268c6ed8b05e0a16569d434ea2
c0f7366a15655c6973ea21029f1997f24c006cca 17-Mar-2012 Jeff Brown <jeffbrown@google.com> aapt: Preprocess images in parallel.

Currently hardcoded to use up to 4 threads.

This change substantially reduces the amount of time spent
preprocessing framework resources to just a few seconds.

Change-Id: I02fdd283fb529a152aeb22ac87f278779fd77983
/frameworks/base/tools/aapt/Bundle.h
c761d8b0086f9e92eb1e4b3a5683ae6afb84036a 07-Feb-2012 Mårten Kongstad <marten.kongstad@sonyericsson.com> Build overlay packages just like regular packages.

Previously, building overlay packages required passing aapt its -o flag.
This commit decouples the idmap generation code from the effects of the
-o flag.

Since this commit renders the -o flag obsolete, support for the flag was
removed from aapt as well.

Change-Id: Ied2e0ab8cb800e49623f0a2044b06cd4935473d5
/frameworks/base/tools/aapt/Bundle.h
6c997a9e880e08c354ffd809bd62df9e25e9c4d4 31-Jan-2012 Dianne Hackborn <hackbod@google.com> aapt now sorts the strings in the resource string pool.

In our current environment with very many translations, this can
save a lot of RAM -- for example over 200K in Gmail just by sorting
the strings in the Gmail .apk (not the framework).

Also add a new aapt command to print the contents of the resource
table string pool.

Change-Id: I1da037b3e2c377b890833ff57ab158965314ac48
/frameworks/base/tools/aapt/Bundle.h
e6b680364dd992907a8d2037685a2e500d188dfb 14-Oct-2011 Dianne Hackborn <hackbod@google.com> New aapt feature to do smarter filtering of configurations.

This adds a --preferred-configurations flag that specifies the
specific configurations you would like to have.

It is smarter than "-c" because it will avoid stripping a
configuration if that would result in there being no value
for the resource.

It is dumber than "-c" because it can't process as many kinds
of resources. It is really only intended for bitmaps and use
with density configs.

This required re-arranging AaptAssets to group files together
by config again, like they used to be. I think this hasn't
broken anything. Hopefully.

Change-Id: I4e9d12ff6e6dbd1abb8fd4cb1814c6674b19d0e5
/frameworks/base/tools/aapt/Bundle.h
8a39da80b33691b0c82458c3b7727e13ff71277e 07-Jun-2011 Josiah Gaskin <josiahgaskin@google.com> Added Caching for PreProcessed PNGs

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
/frameworks/base/tools/aapt/Bundle.h
9bf34ca6f85309c65b0ebdf614cb8266401b49ba 14-Jun-2011 Josiah Gaskin <josiahgaskin@google.com> Add dependency generation to Aapt for R.java

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
/frameworks/base/tools/aapt/Bundle.h
ce89f1531ed8b96b8b790b3f8b18dd4cf483f7f0 09-Jun-2011 Josiah Gaskin <josiahgaskin@google.com> Copy once-created R.java into library projects

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
/frameworks/base/tools/aapt/Bundle.h
57f4b77c89bafedf9468f9a636561c0c193405c9 17-Mar-2011 Mårten Kongstad <marten.kongstad@sonyericsson.com> Runtime resource overlay, iteration 1.

Runtime resource overlay allows unmodified applications to appear
as if they had been compiled with additional resources defined. See
libs/utils/README for more information.

This commit is the first iteration of runtime resource overlay. It
provides the actual overlay modifications and loading of trusted overlay
packages (ie residing in /vendor) targeting framework-res.apk.

This commit loads exactly one overlay package. The overlay,
if present, must target framework-res.apk and be located at
/vendor/overlay/framework/framework-res.apk.

Change-Id: If26ee7754813004a96c043dba37fbe99fa3919db
/frameworks/base/tools/aapt/Bundle.h
d06c1afbb920111d6bb77381560faa1fac5f2d69 15-Feb-2011 Xavier Ducrohet <xav@android.com> Add --non-constant-id to aapt.

This option enbables creating resource constant in the R class
that are not actual constant, but simply static fields.

The goal is to build library projects with these types of
IDs so that the constant does not get inlined in the library
code, since the ID for the library resources only are not
the final values.

The final resource IDs, generated from the main project and
its library(ies), will have proper constant with the final
values.

This allows us to generate binary library bundle (a jar file
and associated resources) that can be distributed. Additionally,
this will let us make the library project support in Eclipse
much more robust and a better user experience overall.

Change-Id: Ibe2f08d68493fde658fc3f7606abf7446f312ad2
/frameworks/base/tools/aapt/Bundle.h
90964040cabfc67f92a7c3322a02401bb6f8ae82 16-Sep-2010 Eric Fischer <enf@google.com> Add an aapt option to allow string variations for different devices.

The --product option to aapt is a comma-separated list of characteristics
of the device being built for. For example, --product nosdcard,grayscale
for a device with no SD card and a grayscale screen.

Strings can specify a product="characteristic" option to cause that version
of the string to be used only for that type of device. All such strings
should also specify, at the end of the block, product="default", which
will be used if none of the variations match. For example:

<string name="choose" product="bw">Choose black or white</string>
<string name="choose" product="grayscale">Choose a shade of gray</string>
<string name="choose" product="default">Choose a color</string>

The default characteristic will also be used when no --product option
is specified.

Change-Id: Ie6c1505599e02e15b7818e8be6ec47bc6ce71aaa
/frameworks/base/tools/aapt/Bundle.h
6487b099231b1e5d36ae37a921399b028b3b3ad9 31-Aug-2010 Xavier Ducrohet <xav@android.com> Add a --debug-mode option to aapt.

When passed (with no needed parameters) to the aapt command line,
aapt will insert debuggable=true in the application node of the manifest
automatically.

This is to be used by the SDK tools to make true "debug" builds
that require no code/file change.

Change-Id: I6f0a7af7b7d51f26bb0ec012e6f142a6060b8618
/frameworks/base/tools/aapt/Bundle.h
588f228d6a3e3b254fbc1f13f29ee47e13a669c1 13-Aug-2010 Ficus Kirkpatrick <ficus@android.com> Add --max-res-version flag to aapt.

aapt will ignore any versioned resource directories over the
specified version (if used). e.g. --max-res-version=6 will
cause layout-land-v7 to be ignored.

Merged from froyo.

Change-Id: Ia4eabae535b95b75d18b0c83135d44ed9a95b9eb
/frameworks/base/tools/aapt/Bundle.h
c9f3088036dd7cce6903e307afea3e289a334036 24-Mar-2010 Kenny Root <kroot@google.com> Use correct API version for UTF-8 checking

Use the constant for checking the API version in aapt instead of a bare
number.

Bug: 2541326
Change-Id: Ice7af7b393363a00f1832dd84753b8138d057fb4
/frameworks/base/tools/aapt/Bundle.h
1741cd4904414b5b4e768953a8f1abb3f0ef0a0a 18-Mar-2010 Kenny Root <kroot@google.com> Fix minSdkVersion scanning to not throw warnings

For the UTF8/UTF16 switch code, we needed to know what was the
minSdkVersion specified as early as possible. Unfortunately, this threw
warnings when the SDK was compiling since we always set this field in
the Bundle.

This splits out the field used by the initial AndroidManifest.xml scan
to a separate one that we won't attempt to re-insert into the
AndroidManifest.xml This also switches the logic to better reflect the
preference of UTF-8 over UTF-16; previously UTF-16 was the default.

Change-Id: Ia81f6b21047043ebb711eb24c2c3718534979ef6
/frameworks/base/tools/aapt/Bundle.h
ef05e076ced1a32c5c0aaee28403779834adb2ba 02-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2448075: aapt doesn't fix up activity-alias android:targetActivity links

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.
/frameworks/base/tools/aapt/Bundle.h
99080c7d9ad9e5ccfec70dd10e4c24468a960c45 05-Feb-2010 Xavier Ducrohet <xav@android.com> Add --auto-add-overlay option to aapt.

This option allows resources only present in overlays to be
added automatically instead of being declared through <add-resource>

Change-Id: Iff782311056f6a045193e57d204f7d3413e11b26
/frameworks/base/tools/aapt/Bundle.h
2fee0ed6eb99b211efa06f095a41268a2021214a 06-Jan-2010 Jeff Hamilton <jham@android.com> Add the --rename-manifest-package option to aapt.

It allows you to force override the manifest
package listed in the AndroidManifest.xml when
creating an APK file.

Change-Id: I7eac7943c4e56610b65728ae54773a273634fd9d
/frameworks/base/tools/aapt/Bundle.h
745e17a07c77aa6b347d9e75c99eb3fcb381bc5d 11-Dec-2009 Kenny Root <kroot@google.com> Revise aapt options for UTF8/16 encoding

Remove option to force UTF-8 encoding which could corrupt packages meant
for systems before API level 7. Added switch to allow encoding for UTF-16
which will allow API 7 and later to encode resources in UTF-16.

Change-Id: I70d0bddb0dfd12dcbd08c95f613dcfe896ae680b
/frameworks/base/tools/aapt/Bundle.h
b5ef7ee1644b099498ddd29c1d051e7ee26ccfd3 10-Dec-2009 Kenny Root <kroot@google.com> Default to UTF8 resources when packaging with aapt

This change makes it so with API level 7 and above all resources will be
packaged in UTF-8 format. Any minSdkVersion level that is named will also
have resources packaged in UTF-8, because it is assumed that previous
releases will only be rebuilt with their proper integer number and only
future releases will temporarily have names.

Change-Id: If5d1ee5e48fbaf31798816b068ac44b14a93121b
/frameworks/base/tools/aapt/Bundle.h
a5a8cc13d3f906650a1eb17e20e1b26d68b78453 11-Dec-2009 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of ce307f88 to eclair-mr2
19138468caf7050d482dc15f35a344eab11bb756 04-Dec-2009 Kenny Root <kroot@google.com> 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
/frameworks/base/tools/aapt/Bundle.h
63459ad555c10de1f316d6de01fc3cd0c0aaa457 01-Dec-2009 Xavier Ducrohet <xav@android.com> Add --custom-package to aapt

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
/frameworks/base/tools/aapt/Bundle.h
37c4157d7cdad71dc9abc93d652e81c33e346d93 20-Oct-2009 Doug Zongker <dougz@android.com> 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.)
/frameworks/base/tools/aapt/Bundle.h
dbe7a68cc13ae135b33769918932838d2d447169 09-Oct-2009 Doug Zongker <dougz@android.com> add "junk path" -k option to aapt

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.
/frameworks/base/tools/aapt/Bundle.h
1553c82e084ac5763fb393857224145506771b99 30-Aug-2009 Joe Onorato <joeo@android.com> Add a flag (-G) to aapt to have it output the classes that shouldn't be obfuscated by ProGuard.
/frameworks/base/tools/aapt/Bundle.h
fc68623c03439db95401a18a435dbc491cd7f6fd 20-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 1585bd24: Merge change 4828 into donut

Merge commit '1585bd24c10d16351f89e32dddbfa799f18db6bd'

* commit '1585bd24c10d16351f89e32dddbfa799f18db6bd':
Report densities in badging, debugging for nine patch bug.
e17086ba346009a26cc2299b133a0fe602acb6ec 20-Jun-2009 Dianne Hackborn <hackbod@google.com> Report densities in badging, debugging for nine patch bug.

The aapt tool now reports all available densities like it already did
for locales. Also this includes more resource data output, which I
was using to examine bug #1867049 (which at this point I am unable to
reproduce).
/frameworks/base/tools/aapt/Bundle.h
3b4062eeb01be33951ba214e027da523cf09f8b1 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of utils.h
/frameworks/base/tools/aapt/Bundle.h
fa6baa259d8b1af768e5c1d7ceb27184391f8fb1 16-May-2009 Dianne Hackborn <hackbod@google.com> Argh fix another build breakage!
/frameworks/base/tools/aapt/Bundle.h
a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d 14-May-2009 Dianne Hackborn <hackbod@google.com> Implement compatibility support for WRITE_SDCARD permission.

Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
/frameworks/base/tools/aapt/Bundle.h
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/Bundle.h
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/Bundle.h
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
/frameworks/base/tools/aapt/Bundle.h
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/tools/aapt/Bundle.h
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/tools/aapt/Bundle.h