OSDN Git Service

AAPT support for feature splits
authorAdam Lesinski <adamlesinski@google.com>
Wed, 18 Jun 2014 22:06:01 +0000 (15:06 -0700)
committerAdam Lesinski <adamlesinski@google.com>
Tue, 5 Aug 2014 01:48:14 +0000 (18:48 -0700)
commit833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1
treea57e8389088178108de1424faf41ea3bb87c934a
parent5c09e8ad5ee8e67976066366527ee58792551953
AAPT support for feature splits

This change allows the developer to add a base package for
which to build a feature split. The generated resource types
will begin after the base APK's defined types so as not
to collide or override resources.

Multiple features can be generated by first choosing an
arbitrary order for the features. Then for each feature,
the base APK and any preceding features are specified
with the --feature-of flags.

So with a base APK 'A' and features, 'B', and 'C',
'B' would be built with

aapt package [...] --feature-of A [...]

and 'C' would be built with

aapt package [...] --feature-of A --feature-of B [...]

Change-Id: I1be66e3f8df9a737b21c71f8a93685376c7e6780
34 files changed:
include/androidfw/ResourceTypes.h
libs/androidfw/ResourceTypes.cpp
libs/androidfw/tests/Idmap_test.cpp
libs/androidfw/tests/ResTable_test.cpp
libs/androidfw/tests/Split_test.cpp
libs/androidfw/tests/data/R.h [new file with mode: 0644]
libs/androidfw/tests/data/basic/basic_arsc.h
libs/androidfw/tests/data/basic/build
libs/androidfw/tests/data/basic/res/layout-fr-sw600dp/main.xml [new file with mode: 0644]
libs/androidfw/tests/data/basic/res/layout/main.xml [new file with mode: 0644]
libs/androidfw/tests/data/basic/res/values-de/values.xml [new file with mode: 0644]
libs/androidfw/tests/data/basic/res/values-fr/values.xml [new file with mode: 0644]
libs/androidfw/tests/data/basic/split_de_fr_arsc.h [new file with mode: 0644]
libs/androidfw/tests/data/feature/AndroidManifest.xml [new file with mode: 0644]
libs/androidfw/tests/data/feature/build [new file with mode: 0755]
libs/androidfw/tests/data/feature/feature_arsc.h [new file with mode: 0644]
libs/androidfw/tests/data/feature/res/values/values.xml [new file with mode: 0644]
libs/androidfw/tests/data/split_base_arsc.h [deleted file]
libs/androidfw/tests/data/split_de_fr_arsc.h [deleted file]
tests/FeatureSplit/base/Android.mk [new file with mode: 0644]
tests/FeatureSplit/base/AndroidManifest.xml [new file with mode: 0644]
tests/FeatureSplit/base/res/values/values.xml [new file with mode: 0644]
tests/FeatureSplit/feature1/Android.mk [new file with mode: 0644]
tests/FeatureSplit/feature1/AndroidManifest.xml [new file with mode: 0644]
tests/FeatureSplit/feature1/res/values/values.xml [new file with mode: 0644]
tests/FeatureSplit/feature2/Android.mk [new file with mode: 0644]
tests/FeatureSplit/feature2/AndroidManifest.xml [new file with mode: 0644]
tests/FeatureSplit/feature2/res/values/values.xml [new file with mode: 0644]
tools/aapt/AaptAssets.cpp
tools/aapt/Bundle.h
tools/aapt/Main.cpp
tools/aapt/Resource.cpp
tools/aapt/ResourceTable.cpp
tools/aapt/ResourceTable.h