172 Commits

Author SHA1 Message Date
Adam Lesinski
cf1f1d9128 AAPT: Version <adaptive-icon> to v26
Bug: 35908647
Test: manual
Change-Id: Ic8f43efe34385192fbab18675eb5898ed80912a5
2017-03-28 19:16:11 +00:00
Guang Zhu
8c2df71739 Revert "AAPT: Version <adaptive-icon> to v26"
Bug: 36462965
Bug: 35908647

This reverts commit c7614e5d1e8f9139cccf6ab9b78dda16b98f7656.

Change-Id: I25279e7c53823dad0703c7e2ea8ff91bdbc1a0f2
2017-03-21 03:53:43 +00:00
Adam Lesinski
c7614e5d1e AAPT: Version <adaptive-icon> to v26
Bug: 35908647
Change-Id: I307fb2f666cb8519adb9a7f676b87706dc6c683f
Test: manual
2017-03-16 16:54:23 -07:00
Adam Lesinski
2d6fa033e1 AAPT: Process XML in mipmap directory
Mipmap directories should be treated like drawables.
They are just a convention that prevents them from
being split or stripped for multi-apk.

Bug: 36068314
Test: manual
Change-Id: I93ab3871c7d9d403b77989bcc88304e9939866c4
2017-03-10 18:43:56 -08:00
Aurimas Liutikas
75e7d1d73e Removes an already defined warning in aapt.
Apps that expect to use the current SDK don't specify anything in their
manifest and the build system rightfully injects the current SDK.

Any apps that specify their own <uses-sdk> or versionCode are telling
the build system that they are purposely using some other minSdkVersion,
etc (support library demos).

Test: None
Change-Id: I0aba3a71e15703c7bcafcf4d35608a1851dd8567
Fixes: 34901699
2017-02-17 18:44:28 -08:00
Adam Lesinski
9bbe787822 Finish font support for AAPT
Test: make CtsContentTestCases in cts/tests/tests/content
Change-Id: Ie1e08deeef56611de261bd12f25f53c88068950e
2017-01-24 13:52:45 -08:00
Adam Lesinski
83b4f7daba AAPT: Add support for 'font' resource type
Change-Id: I5bc459e34715779ab3b1c415f40f592a4ccbb96e
Test: manual
2017-01-20 13:19:27 -08:00
Colin Cross
f45d261928 Merge "aapt: remove duplicate definition of ZD" am: ac2d839d7c am: 3efa1e7c17 am: e43f2d4ef5
am: b62cc13c7c

Change-Id: Ieb593095a6bdc1842b95863fa2cf08ff1fb0669f
2016-09-23 01:17:34 +00:00
Colin Cross
b62cc13c7c Merge "aapt: remove duplicate definition of ZD" am: ac2d839d7c am: 3efa1e7c17
am: e43f2d4ef5

Change-Id: I71e7bfd44396aa2a7d79ba983bcc71d7684a36c1
2016-09-22 23:04:06 +00:00
Colin Cross
281386df64 aapt: remove duplicate definition of ZD
ZD and ZD_TYPE are set by utils/Compat.h, remove them from
StringPool.cpp and Resource.cpp.

Test: m -j native
Bug: 31492149
Change-Id: I6154e4598dd1f279e348ef6c0b32d756464bda8a
2016-09-16 12:56:21 -07:00
Adam Lesinski
00e7ebbe1a AAPT: Fix use-after-free error am: 193ed74c2d am: 646f2d9c33
am: 9e8da4a476

Change-Id: I591fd51bf456cd42fe8c633de8924a9f2c844866
2016-08-15 23:33:01 +00:00
Adam Lesinski
9e8da4a476 AAPT: Fix use-after-free error am: 193ed74c2d
am: 646f2d9c33

Change-Id: If9fe7a52e62ae6b2900aa187996b4b785894ab03
2016-08-15 23:22:04 +00:00
Adam Lesinski
193ed74c2d AAPT: Fix use-after-free error
Re-order deletion of ResXMLTree and the Asset object
it iterates over.

Bug:30844391
Change-Id: Ied033d0a8f93343006228a2054c6d0f42bb4717a
2016-08-15 14:22:36 -07:00
Chih-Hung Hsieh
84717d4118 resolve merge conflicts of 17bd236 to stage-aosp-master am: b3d46b44a3
am: c76aa69207

Change-Id: I6bb066d131dde297612c5dcbf5051f4964e62a8b
2016-08-12 19:35:08 +00:00
Chih-Hung Hsieh
b3d46b44a3 resolve merge conflicts of 17bd236 to stage-aosp-master
Change-Id: I08d4500aaa378b08d41e8d046c62101e08dbfba8
2016-08-12 11:44:16 -07:00
Chih-Hung Hsieh
8bd37ba458 Fix clang-tidy warnings in aapt and aapt2.
* Add explicit keyword to conversion constructors.
* Add NOLINT(implicit) comments for implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
Merged-In: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
2016-08-11 15:20:10 -07:00
Chih-Hung Hsieh
9b8528fee4 Fix clang-tidy warnings in aapt and aapt2.
* Add explicit keyword to conversion constructors.
* Add NOLINT(implicit) comments for implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
2016-08-11 15:16:41 -07:00
Ivan Gavrilovic
f580d91dab Aapt main dex proguard rules - always keep application
Aapt with -D option was not keeping the application and instrumentation
subclasses, which were instead handled by mainDexClasses.rules. Instead,
include them in the aapt -D output.

Change-Id: Ia3b89fc2edd45d379c4d06f0bf674716646fcb3d
2016-07-20 15:38:48 +01:00
Adam Lesinski
526d73be4a AAPT: Don't keep processing files that failed to be added
AAPT will continue ahead without reporting an error if a file
failed to be added to the ResourceTable. This would cause crashes
later when the file was assumed to be present.

Bug:30200166
Change-Id: Ieb2daf97ccf0345153b6f4598d130a38d108c937
2016-07-18 17:07:41 -07:00
Michael Wright
feaf99fa1b Stop emitting javadoc for @removed attributes.
We need the attributes to remain public because people might still be
linking against them, but we don't want them showing up in the
documentation any more. Them showing up in the documentation also had
the side effect that it would accidentally mark the parent class of
attributes as @removed, which was not intended.

Bug: 28663748

Change-Id: I2f6eb09455fddf1086e6b24bc3bea5292e8e32b7
2016-05-09 14:51:41 +01:00
Rohit Agrawal
682583c890 AAPT: ProGuard config for components in main dex.
Create an analogue of "aapt -G" which outputs a proguard configuration
that keeps only components which need to be in the main dex.

Bug: 27383099
Bug: 28425556

Change-Id: Ic18c8c563794ff27a5598a214111d1b446a005f1
(cherry picked from commit 86229cb622fccde8ab8cbe85eead91a34313a708)
2016-04-27 19:50:55 +00:00
Rohit Agrawal
6ba873faec AAPT: ProGuard config for components in main dex.
Create an analogue of "aapt -G" which outputs a proguard configuration
that keeps only components which need to be in the main dex.

BUG: 27383099

Change-Id: Ic18c8c563794ff27a5598a214111d1b446a005f1
(cherry picked from commit 86229cb622fccde8ab8cbe85eead91a34313a708)
2016-04-27 11:26:55 -07:00
Adam Lesinski
9e1923d02f AAPT: Remove warnings for public resources without comments
There are so many public resources that do not warrant comments
that having a warning that no one cares about is just producing
log spam.

Bug:21495023
Change-Id: I84e3b39c7139ee67fb5cb711d5ab466d8f4ef2e0
2016-02-11 14:17:25 -08:00
Dan Albert
46736ec81c Merge "Make the appropriate cast to protect from mingw." am: dbf8c17bd2
am: 2edfa8c9b0

* commit '2edfa8c9b00cd0c0bd18738f75e0928394b99c76':
  Make the appropriate cast to protect from mingw.
2016-01-16 02:25:22 +00:00
Dan Albert
ed811eeaea Make the appropriate cast to protect from mingw.
As the comment at the top of the file says:

    STATUST: mingw does seem to redefine UNKNOWN_ERROR from our enum
    value, so a cast is necessary.

Bug: http://b/26523949
Change-Id: I9d86cafdc47bbb9ce0e967cdde9315babc083432
2016-01-15 12:16:06 -08:00
Adam Lesinski
78713998f9 Specify private resource package in Android.mk
Private resource package shouldn't be buried in some resource file.
It can now be specified on the command line via the Android.mk file.

Change-Id: I9e3cb0bf54830d6b021077af271913306c024701
2015-12-07 14:52:53 -08:00
Adam Lesinski
07dfd2d864 Implement AAPT Bundle format
AAPT will scan XML files looking for the <aapt:attr> XML tag.

<!-- @layout/bundle.xml -->
<ImageView xmlns:aapt="http://schemas.android.com/aapt">
  <aapt:attr name="android:src">
    <vector android:pathData="..." ...>
    </vector>
  </aapt:attr>
</ImageView>

The SINGLE child element of the <aapt:attr> tag is extracted into its own top
level resource. It is given a generated name.

The parent element of <aapt:attr> is then given the resource attribute that was assigned
to the `name' attribute. The value is set to a reference to the generated resource.

<!-- @layout/bundle.xml -->
<ImageView android:src="@drawable/bundle_1.xml">
</ImageView>

<!-- @layout/bundle_1.xml -->
<vector android:pathData="..." ...>
</vector>

Bug:22627686
Change-Id: I8575fc4f739011402662fbf6b3db96df0012f598
2015-11-30 14:43:43 -08:00
Adam Lesinski
5b9847ca3f Revert "Implement AAPT Bundle format"
This reverts commit 9d0f7d44d5cc5322415f52f7ce03cc37a478b350.

Caused a build breakage when parsing some attributes.

Change-Id: I89ca958b2f2e820d353648df8aadd90bbe8d8339
2015-11-30 21:07:44 +00:00
Adam Lesinski
9d0f7d44d5 Implement AAPT Bundle format
AAPT will scan XML files looking for the <aapt:attr> XML tag.

<!-- @layout/bundle.xml -->
<ImageView xmlns:aapt="http://schemas.android.com/aapt">
  <aapt:attr name="android:src">
    <vector android:pathData="..." ...>
    </vector>
  </aapt:attr>
</ImageView>

The SINGLE child element of the <aapt:attr> tag is extracted into its own top
level resource. It is given a generated name.

The parent element of <aapt:attr> is then given the resource attribute that was assigned
to the `name' attribute. The value is set to a reference to the generated resource.

<!-- @layout/bundle.xml -->
<ImageView android:src="@drawable/bundle_1.xml">
</ImageView>

<!-- @layout/bundle_1.xml -->
<vector android:pathData="..." ...>
</vector>

Bug:22627686
Change-Id: I31bc96aae30d38bfd0b16508d0f585de5fd88a07
2015-11-24 15:38:40 -08:00
Adam Lesinski
09ffc62fdb Merge "AAPT: Don't try to rewrite String constants when loading shared lib" 2015-09-11 01:48:05 +00:00
Adam Lesinski
eed585821a AAPT: Don't try to rewrite String constants when loading shared lib
Bug:20138255
Change-Id: Ieb6a31ee9afe0de3d1c99b21f78aa48fe07015c6
2015-09-10 18:43:34 -07:00
Elliott Hughes
84d4917c75 am 12cf0f9c: am eba23aaa: Merge "Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools."
* commit '12cf0f9c4cf8e6aed738da7349f556bd716ec09e':
  Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools.
2015-08-17 21:15:40 +00:00
Elliott Hughes
e17788ceff Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools.
Change-Id: Ideef62acbf53a442167c9b8038021affffef9e8a
2015-08-17 12:41:46 -07:00
Adrian Roos
5892248580 aapt: add option for stricter symbol generation
Adds an option that prevents generating java symbols for string
resources that don't have a default localization.

Bug: 21537397
Change-Id: Ifafa942b24d5cdbed93651cde363e859be13d395
2015-06-02 02:55:52 +00:00
Colin Cross
1be312dfb0 Merge "Re-enable -Wall and -Werror that were lost in a merge" 2015-04-09 00:49:56 +00:00
Colin Cross
01f185633c Re-enable -Wall and -Werror that were lost in a merge
-Wall and -Werror were lost during a merge when they were added to
aaptCFLAGS instead of aaptCFlags.  Fix the typo, and the warnings
that crept in while it was disabled.

Change-Id: Ib944b8d6149278e4f3861c1acac277bcd95cc7c2
2015-04-08 17:48:23 -07:00
Elliott Hughes
b12f2410c7 Only Windows doesn't have %zd.
Change-Id: I0e4b0fdc61641c5ecb724fd096bd2315dcf8ed4a
2015-04-03 12:56:45 -07:00
Adam Lesinski
915f44e1ee am 503a4494: am f1f179a7: Merge "AAPT: Copy android:revisionCode to Splits" into lmp-mr1-dev
* commit '503a4494d64d30f9b904b24a56fff986810da610':
  AAPT: Copy android:revisionCode to Splits
2014-12-16 18:02:09 +00:00
Adam Lesinski
54de298c01 AAPT: Copy android:revisionCode to Splits
Bug:18706179
Change-Id: I669b56e0b67dd1bfda7749ef433b55af16851154
2014-12-16 09:16:26 -08:00
Adam Lesinski
455550d586 am 72a6aeac: am 91ca64ea: Merge "AAPT: Add pathMotion custom classes to Proguard Keep set" into lmp-mr1-dev
* commit '72a6aeaca0712d9b72b9f773e2b72bb45ddd3cb8':
  AAPT: Add pathMotion custom classes to Proguard Keep set
2014-12-03 20:42:22 +00:00
Adam Lesinski
62c5df52e7 AAPT: Add pathMotion custom classes to Proguard Keep set
Bug:18590044
Change-Id: Ia5dbf55317d2cc89826316e8d10f031b5d340e57
2014-12-02 16:23:59 -08:00
Adam Lesinski
3550c6c5d6 am f17611a2: am 130e30fe: Merge "AAPT: Add custom transition classes to Proguard keep set" into lmp-mr1-dev
* commit 'f17611a29e3b0d0c7a5d28a1ce92682a2c097de6':
  AAPT: Add custom transition classes to Proguard keep set
2014-12-03 00:05:33 +00:00
Adam Lesinski
4c488ff931 AAPT: Add custom transition classes to Proguard keep set
Bug:18590044
Change-Id: Ib24831e669a09f0e6f32434081c0e2499702399c
2014-12-02 15:40:17 -08:00
Adam Lesinski
685d363d7a Merge commit 'fb96e54' into manualmerge
Conflicts:
	tools/aapt/Resource.cpp

Change-Id: I4147c3550e9426f3429146eaeb16f10ba76b5b15
2014-11-05 12:30:25 -08:00
Adam Lesinski
3fd340028f Merge commit '78be0498' into manualmerge
Conflicts:
	libs/androidfw/ResourceTypes.cpp
	tools/aapt/Android.mk
	tools/aapt/StringPool.cpp
	tools/aapt/StringPool.h

Change-Id: I9d69efdfb892032895ace12159d193304f02dc6c
2014-11-03 18:06:22 -08:00
Adam Lesinski
de7de47fef Add error checking to aapt for split generation
Change-Id: Ica627db6a671f6a6c35f98bfd9c03598ffe103ce
2014-11-03 15:55:44 -08:00
Adam Lesinski
4bf58108d4 Fix issues that will be present in C++11
- char16_t is a distinct type, so stay consistent
  with it throughout the code base.
- char16_t is defined as minimum size of 16 bits.
  Since we mmap and cast data structures onto raw memory,
  we need a precise definition (uint16_t), so we cast between
  that (and static_assert that they are the same size).

Change-Id: I869c32637543bbcfb39d2643e7d9df10d33acd3c
2014-11-03 11:49:47 -08:00
Dan Albert
11d3d1016b am 9295a135: am e40974d9: Merge "Fix an overflow found by ASAN."
* commit '9295a1354eb8220be9a0a40985253c6cdfac35c3':
  Fix an overflow found by ASAN.
2014-10-20 22:01:04 +00:00
Dan Albert
d395f79133 Fix an overflow found by ASAN.
Sometimes len is 0.

Change-Id: I031000188edc57663a5519b00cbbb751600d32f4
2014-10-20 14:45:55 -07:00
Andreas Gampe
87332a7109 resolved conflicts for merge of 1dcc75b2 to lmp-mr1-dev-plus-aosp
Change-Id: I8f7cbd971beae3ab134195e612d705860665142f
2014-10-01 23:26:06 -07:00