History log of /frameworks/base/tools/aapt/AaptAssets.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
40e8eefbedcafc51948945647d746daaee092f16 16-Sep-2014 Adam Lesinski <adamlesinski@google.com> First commit of split-select tool

This tool emits a set of rules as JSON for when a Split APK
should match a target device.

Change-Id: I8bfbdfbdb51efcfc645889dd03e1961f16e39645
/frameworks/base/tools/aapt/AaptAssets.h
e572c011feabf6319ba836cf5bc4c3baa0ba6a85 20-Sep-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Continuation of public/private attribute fix

XML files like layouts are now scanned and checked
for v21 attributes. If those kinds of attributes
are found, then we remove them in the original
version and synthesize a new xml file under the
v21 configuration.

Bug:17520380
Change-Id: Icf984cb96134180a2e35349c1dbf2cef9a8f0bda
/frameworks/base/tools/aapt/AaptAssets.h
ad2d07d2d98a46babb2a9472413fe9ce5080ca76 28-Aug-2014 Adam Lesinski <adamlesinski@google.com> Stamp platform version code into app Apks

The versionCode of theframework resources that an app is built against
gets stamped inside an app's AndroidManifest.xml in the <manifest>
tag as "platformBuildVersionCode" and "platformBuildVersionName"
attributes.

Bug:17207635
Change-Id: Id573c3dffcbca38eec9c0eb3e89f4a547e3361d3
/frameworks/base/tools/aapt/AaptAssets.h
fab50875b98e8274ac8ee44b38ba42521bbbf1f9 16-Apr-2014 Adam Lesinski <adamlesinski@google.com> Add support for building split APKs

Build multiple APKs, each containing a disjoint subset
of configurations. These can then be loaded into the device
AssetManager and should operate as if they were never split.

Use the idea of building multiple sets of files, where each
set represents an APK. An ApkBuilder can place files
in a set based on its configuration, but you can actually
add directly to a set, in the case of the resources.arsc and
generated AndroidManifest.xml for splits.

Change-Id: Ic65d3f0ac1bbd290185695b9971d425c85ab1de3
/frameworks/base/tools/aapt/AaptAssets.h
de898ff42912bd7ca1bfb099cd439562496765a4 30-Jan-2014 Adam Lesinski <adamlesinski@google.com> Shared library resource support

Shared libraries can now export resources for applications
to use.

Exporting resources works the same way the framework exports
resources, by defining the public symbols in res/values/public.xml.

Building a shared library requires aapt to be invoked with the
--shared-lib option. Shared libraries will be assigned a package
ID of 0x00 at build-time. At runtime, all loaded shared libraries
will be assigned a new package ID.

Currently, shared libraries should not import other shared libraries,
as those dependencies will not be loaded at runtime.

At runtime, reflection is used to update the package ID of resource
symbols in the shared library's R class file. The package name of
the R class file is assumed to be the same as the shared library's
package name declared in its manifest. This will be customizable in
a future commit.

See /tests/SharedLibrary/ for examples of a shared library and its
client.

Bug:12724178
Change-Id: I60c0cb8ab87849f8f8a1a13431562fe8603020a7
/frameworks/base/tools/aapt/AaptAssets.h
91447d88f2bdf9c2bf8d1a53570efef6172fba74 21-Jan-2014 Narayan Kamath <narayan@google.com> Extended locales in AAPT / AssetManager.

Support 3 letter language codes, script codes &
variants. The bulk of the changes are related to
the implementation of command line filtering of
locales etc. The previous code assumed that the
value of each "axis" (locale, density, size etc.)
could be represented by a 4 byte type. This is
no longer the case.

This change introduces a new class, AaptLocaleValue
which holds a (normalized) locale parsed from a
directory name or a filter string. This class takes
responsibility for parsing locales as well as
writing them to ResTable_config structures, which is
their representation in the resource table.

This includes minor changes at the java / JNI level
for AssetManager. We now call locale.toLanguageTag()
to give the native layer a well formed BCP-47 tag.
I've removed some duplicated parsing code in
AssetManager.cpp and replaced them with functions on
ResTable_config. The native getLocales function has
been changed to return well formed BCP-47 locales as
well, so that the corresponding java function can use
Locale.forLanguageTag to construct a Locale object
out of it.

Finally, this change introduces default and copy
constructors for ResTable_config to prevent having
to memset() the associated memory to 0 on every
stack allocation.

Change-Id: I899a56a9a182ee6be52b9389d1ae59266f5482e9
/frameworks/base/tools/aapt/AaptAssets.h
09384303dea4f3f01d5682918d7bab9bf83a02b1 23-Jan-2014 Adam Lesinski <adamlesinski@google.com> Add support for multiple asset dirs (-A)

Bug: 12608034
Change-Id: I02c5a1a73b83498d799570428cca3dd914f8ac11
/frameworks/base/tools/aapt/AaptAssets.h
5f7979993979466c79ab4f38d83c6f2aca361662 16-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Add support for "-rtl" in resources

- fix bug #7035019 Need to have "-rtl" support for Resource

Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
/frameworks/base/tools/aapt/AaptAssets.h
f67f834a9cb7ee9b743e79af85cb42bd45b5aa23 19-May-2012 Raphael Moll <ralf@android.com> am 8748399f: am 61394501: Merge "Support a new ANDROID_AAPT_IGNORE env var."

* commit '8748399f6f999d21eef9226baadb20f71dfb61ea':
Support a new ANDROID_AAPT_IGNORE env var.
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/AaptAssets.h
b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4 18-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring.

step 2: move libutils headers to their new home: androidfw

Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
/frameworks/base/tools/aapt/AaptAssets.h
1644c6d7f4931d0b4fe7ea77c63b016af01a46d3 07-Feb-2012 Dianne Hackborn <hackbod@google.com> Only generate private symbols that are needed.

Change-Id: Icc4c86638db8429a387bf87c934cc712f807e213
/frameworks/base/tools/aapt/AaptAssets.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/AaptAssets.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/AaptAssets.h
a125c937de06b1cc43368743592f47513eb88b76 21-Jul-2011 Xavier Ducrohet <xav@android.com> resolved conflicts for merge of 2c311be7 to honeycomb-plus-aosp

Change-Id: I806c7b4ae95f66df621587e52497dd8739a115fe
9139868b6c5cb29b3665984225dceb0193fec31d 19-Jul-2011 Xavier Ducrohet <xav@android.com> am ba6c98db: am 82943ecf: am d40c93f6: Merge "Add dependency generation to Aapt for R.java"

* commit 'ba6c98db8f21016f81ecac35bb0ea3c433044bb7':
Add dependency generation to Aapt for R.java
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/AaptAssets.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/AaptAssets.h
69cb87576ba163b61bb0e6477a3b7c57a9b11d40 20-May-2011 Dianne Hackborn <hackbod@google.com> Add new "-swNNNdp" resource qualifier.

Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
/frameworks/base/tools/aapt/AaptAssets.h
ebff8f92f13513ce37bd74759eb1db63f2220590 13-May-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate add new screen width/height in "dp" configs.

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4
/frameworks/base/tools/aapt/AaptAssets.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/AaptAssets.h
27b28b3f62bd3b54fa13acd5d035940b9be464f3 09-Feb-2010 Tobias Haamel <haamel@google.com> Introduce special UI modes for night and car usage.

The device mode is now called ui mode. Furthermore is the order of
precedence for the resources now in such a way that the ui mode needs
to be specified after the orientation and before the density.

The ui mode can be set, like it is done for the locale, as follows:

IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.uiMode = Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;
am.updateConfiguration(config);

To allow users to disable the car mode and set the night mode the IUiModeManager
interface is used.

The automatic night mode switching will be added in a separate change.
/frameworks/base/tools/aapt/AaptAssets.h
93e462b79d6896da10e15e74c5aec6beb098dddf 16-Sep-2009 Dianne Hackborn <hackbod@google.com> Implement issue #1780928: Need support hiding nav keys.

This implements support for devices whose hardware can hide
their navigation keys. It works much like the existing keyboardHidden
configuration, and for compatibility uses the same configuration
change bit.

Also add FLAG_TURN_ON_SCREEN for windows, which has the system
cause the screen to be turned on when the window is displayed.
Great fun when used with FLAG_SHOW_WHEN_LOCKED!

Change-Id: I0b867f19af85cfd8786a14cea194b34f7bdd9b7a
/frameworks/base/tools/aapt/AaptAssets.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/AaptAssets.h
64551b2e0e52fe89c360b1951acc528d94ebaf7a 15-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix aapt to be able to add configs from overlays.

Fixes a bug where any new configurations introduced in an overlay
would be half-way ignored (enough to result in a broken .apk).
/frameworks/base/tools/aapt/AaptAssets.h
a8339dfec9d1b2c6d6fd2f8268f8075d184f64c0 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 9fc20b0e: Merge change 8126 into donut

Merge commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf'

* commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf':
First pass at reworking screen density/size APIs.
c4db95c077f826585d20be2f3db4043c53d30cf5 22-Jul-2009 Dianne Hackborn <hackbod@google.com> First pass at reworking screen density/size APIs.

This changes the names of the directories in aapt, to what you see
in the list of DpiTest resources. Also adds a new "long" configuration
for wide screens, which the platform sets appropriate, and introduces
a new kind of resizeability for not large but significantly larger
than normal screens which may have compatibility issues.
/frameworks/base/tools/aapt/AaptAssets.h
f6ff591decdea6299aab1a5b6f95917800571de4 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 72eb0aca: Merge change 5483 into donut

Merge commit '72eb0acad5cffc57ce5006f6deab29ee259e461e'

* commit '72eb0acad5cffc57ce5006f6deab29ee259e461e':
Expand support for different screen sizes.
723738cfaec3dd7b0fe152c872c41bebf94074c4 26-Jun-2009 Dianne Hackborn <hackbod@google.com> Expand support for different screen sizes.

Applications can now declare that they support small, normal, or
large screens. Resource selection can also be done based on these
sizes. By default, pre-Donut apps are false for small and large,
and Donut or later apps are assumed to support all sizes. In either
case they can use <supports-screens> in their manifest to declare
what they actually support.
/frameworks/base/tools/aapt/AaptAssets.h
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/AaptAssets.h
6a1fadea851db236331b3dfe1f3c1e482556057f 21-Apr-2009 Marco Nelissen <> AI 147028: Fix up aapt so it runs cleanly under the valgrind leak checker.

Automated import of CL 147028
/frameworks/base/tools/aapt/AaptAssets.h
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/AaptAssets.h
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/AaptAssets.h
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
/frameworks/base/tools/aapt/AaptAssets.h
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/tools/aapt/AaptAssets.h