ZipUtils is needed by build/tools, move it from libandroidfw
(frameworks/base) to libutils (frameworks/native).
Change-Id: I2b4b7adcdf68eb25ee7cba5dd3b69eadf0523af3
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
The current implementation of Vector::sort uses insertion sort
on the assumption that the data is mostly sorted. It isn't.
This change brings the total time spent sorting packages by config
down to 500ms from about 93 seconds.
Bug: 6186278
Change-Id: Iec8da11e09297acd6c73733d063b0fa9dacf69f7
The sorted string pool option was no longer used.
Neither were strings with associated identifiers.
Change-Id: Ic5f6368637fbeedfda873d63f4ad0f3ea9d0d603
If a styled version of an otherwise identical string is encountered before
a non-styled version, aapt merges the two, effectively making the
non-styled string have a spurious style.
Change-Id: I424a61c0c83c59e0b9c8939e457402efd06a7a4f
In addition to a couple of minor clean-up items, this fixes an issue that can
rarely cause incorrect parsing of attribute flag values, when there is a '|'
character in the few bytes past the end of the attribute value being parsed.
Change-Id: I6050b1c2db60720c7c0ab7df9eba8cfc629b320e
This patchset introduces a new standard namespace http://schemas.android.com/tools
which will be used for tools specific XML attributes.
Any attributes using this namespace will not be compiled into the binary XML file.
The namespace node is also not written at all, and its string is not collected
to ensure that there is no impact on the devices.
(cherry picked from commit a5d5e9d906583ebeb590ca200ca9840302a5cd1a)
Change-Id: I62937b8bc34c07ac544930aa8eadd7797e0179d5
This patchset introduces a new standard namespace http://schemas.android.com/tools
which will be used for tools specific XML attributes.
Any attributes using this namespace will not be compiled into the binary XML file.
The namespace node is also not written at all, and its string is not collected
to ensure that there is no impact on the devices.
Change-Id: I3e75d44cda54e1fa7b5cdc56b3eb27db80fe7761
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
The idea is that this is a device which is more-or-less headless. It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.
Change-Id: Ib92f53a120bf83de781728011721a4859def7d9f
There's no printf %zd on Mingw/Cygwin so the verbose
printf crashes aapt.
SDK bugs: 20395, 20986
Bug: 5742142
(cherry picked from commit f51125d8429ffa71c57ba6fbdca9effc72642a9b)
Change-Id: I7545734ce8ce4a1f3e95f8a255daa8a909f870a1
This fixes the build on Linux when RefBase is compiled with reference tracking
enabled.
Change-Id: I3e931e0b463ce836f6fdb30c37068d77144631a3
Signed-off-by: Iliyan Malchev <malchev@google.com>
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
Localized strings with product variants were not being included in the APK,
apparently because the check to ensure that a different variation of the
string had not already been included in the APK was matching the version
of it from the default, untranslated configuration.
Now check to make sure that the string not only exists but also exists in
the correct configuration.
Bug 5372711
Change-Id: I52975570b75e0f11827dc6bcf1cb4a987d0541aa
This changes the name of the generated dependency files to R.java.d
and <ApkName>.ap_.d respectively.
Change-Id: I17e18770fc0d0a5d31c7b37b40ac1949f45ef13a