History log of /frameworks/base/tools/aapt/Main.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f1301d86fb7f414330b08dd9514436e65ba69ceb 30-Apr-2013 Jeff Sharkey <jsharkey@android.com> Merge commit 'b3f66877' into afdmerge

Change-Id: I319863cf23b2e6eacfa4508f7b111fba7b1cbc24
08822df147f7794559870d6de01f9a5cea6f1cd4 20-Dec-2012 Mårten Kongstad <marten.kongstad@sonymobile.com> Document the 'aapt dump strings' command

Update the usage page for aapt to mention 'strings' as a valid
subcommand to 'dump'.

Change-Id: Iadb2b8ce36951ff36ffbf6b5ea349ba1e2b12582
/frameworks/base/tools/aapt/Main.cpp
b1f6ad82dd8d1702617a757a88430604b3131fac 21-Dec-2012 Xavier Ducrohet <xav@android.com> Add single crunch command to aapt.

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.

Change-Id: I635ee3e871d035b9db2fb593802d914e48241abf
/frameworks/base/tools/aapt/Main.cpp
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/Main.cpp
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/Main.cpp
90897ed87bce639bf6bb2ccf15fbabb59b131bab 08-May-2012 Raphael Moll <ralf@android.com> Support a new ANDROID_AAPT_IGNORE env var.

AAPT has a fixed built-in list of files and directories
to ignore when parsing resource files. Over the years we
always had developers requiring specific patterns.
If the env var ANDROID_AAPT_IGNORE is set, it is parsed
to find which file/directory patterns to ignore.
Otherwise a default is used that matches the current behavior.

Added a command-line option for it:
aapt di --ignore-assets "foo*:*.blah"

SDK Bug: 5343 24067

Change-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f
/frameworks/base/tools/aapt/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
03589cc65355220e0a4a0c816189a9fa25cc81fc 28-Jun-2011 Josiah Gaskin <josiahgaskin@google.com> Add generation of dependency file for .ap_ package

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
/frameworks/base/tools/aapt/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
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/Main.cpp
55e3d60da5626752ffe1d15150d35ccb8fa644e7 05-Jun-2009 Mathias Agopian <mathias@google.com> break dependency on utils/ZipEntry.h and utils/ZipFile.h, get rid of inet_address.h and Socket.h which were not used
/frameworks/base/tools/aapt/Main.cpp
3b4062eeb01be33951ba214e027da523cf09f8b1 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of utils.h
/frameworks/base/tools/aapt/Main.cpp
62da8461ed5317fe78ae5e3793662694e7fc99a3 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/Main.cpp
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/Main.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/Main.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/Main.cpp
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/tools/aapt/Main.cpp
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
/frameworks/base/tools/aapt/Main.cpp
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/tools/aapt/Main.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/tools/aapt/Main.cpp