Adam Lesinski ed69ce84bd libandroidfw: Fix mass logspam of ResourceTypes warnings
An overlay was incorrectly leaking its own resources into the
framework resource package, which caused warnings for every app
that tried to access framework resources (all of them).

This change skips including any resources that are not overlaying
anything (not present in IDMAP).

Bug: 36256974
Test: make libandroidfw_tests
Change-Id: I8c710af6849bb848938825aacca02799ee96c003
2017-03-20 14:51:13 -07:00
..
2017-02-22 11:16:13 -08:00
2017-01-17 18:55:51 -08:00
2016-10-26 19:30:23 -07:00
2017-01-17 18:55:51 -08:00
2017-01-17 18:55:51 -08:00
2017-02-22 11:16:13 -08:00
2017-03-14 12:26:28 -07:00
2016-10-26 19:30:23 -07:00
2016-10-26 19:30:23 -07:00
2017-01-17 18:55:51 -08:00
2017-01-17 18:55:51 -08:00
2017-01-17 18:55:51 -08:00
2017-01-17 18:55:51 -08:00
2017-01-17 18:55:51 -08:00
2017-02-22 11:16:13 -08:00
2017-02-22 11:16:13 -08:00
2017-01-17 18:55:51 -08:00
2017-02-22 11:16:13 -08:00

Android Asset Packaging Tool 2.0 (AAPT2) release notes

Version 2.10

  • Add ability to specify package ID to compile with for regular apps (not shared or static libs). This package ID is limited to the range 0x7f-0xff inclusive. Specified with the --package-id flag.
  • Fixed issue with resources being stripped for locales and other configuration.
  • Fixed issue with escaping strings in XML resources.

Version 2.9

  • Added sparse resource type encoding, which encodes resource entries that are sparse with a binary search tree representation. Only available when minSdkVersion >= API O or resource qualifier of resource types is >= v26 (or whatever API level O becomes). Enabled with --enable-sparse-encoding flag.

aapt2 optimize ...

  • Adds an optimization pass that supports:
    • stripping out any density assets that do not match the --target-densities list of densities.
    • resource deduping when the resources are dominated and identical (already happens during link phase but this covers apps built with aapt).
    • new sparse resource type encoding with the --enable-sparse-encoding flag if possible (minSdkVersion >= O or resource qualifier >= v26).

Version 2.8

  • Adds shared library support. Build a shared library with the --shared-lib flag. Build a client of a shared library by simply including it via -I.

Version 2.7

aapt2 compile ...

  • Fixes bug where psuedolocalization auto-translated strings marked 'translateable="false"'.

Version 2.6

aapt2

  • Support legacy configVarying resource type.
  • Support <bag> tag and treat as <style> regardless of type.
  • Add <feature-group> manifest tag verification.
  • Add <meta-data> tag support to <instrumentation>.

Version 2.5

  • Transition XML versioning: Adds a new flag --no-version-transitions to disable automatic versioning of Transition XML resources.

Version 2.4

  • Supports <meta-data> tags in <manifest>.

Version 2.3

aapt2

  • Support new font resource type.

Version 2.2

aapt2 compile ...

  • Duplicate resource filtering: removes duplicate resources in dominated configurations that are always identical when selected at runtime. This can be disabled with --no-resource-deduping.

Version 2.1

  • Configuration Split APK support: supports splitting resources that match a set of configurations to a separate APK which can be loaded alongside the base APK on API 21+ devices. This is done using the flag --split path/to/split.apk:<config1>[,<config2>,...].
  • SDK version resource filtering: Resources with an SDK version qualifier that is unreachable at runtime due to the minimum SDK level declared by the AndroidManifest.xml are stripped.

Version 2.0

aapt2 compile ...

  • Pseudo-localization: generates pseudolocalized versions of default strings when the --pseudo-localize option is specified.
  • Legacy mode: treats some class of errors as warnings in order to be more compatible with AAPT when --legacy is specified.
  • Compile directory: treats the input file as a directory when --dir is specified. This will emit a zip of compiled files, one for each file in the directory. The directory must follow the Android resource directory structure (res/values-[qualifiers]/file.ext).
  • Automatic attribute versioning: adds version qualifiers to resources that use attributes introduced in a later SDK level. This can be disabled with --no-auto-version.
  • Min SDK resource filtering: removes resources that can't possibly be selected at runtime due to the application's minimum supported SDK level.