Merge commit 'fa8887848e2877dd96e853dfcd52086f1b66c26b'
* commit 'fa8887848e2877dd96e853dfcd52086f1b66c26b':
Avoid pre-processing images when they won't be used
Merge commit '89fef4183a3c58aebbbf66e894bbdc1ae9f634e9' into gingerbread-plus-aosp
* commit '89fef4183a3c58aebbbf66e894bbdc1ae9f634e9':
Avoid pre-processing images when they won't be used
Merge commit '31103928ed5b9091bcd7de74c8a49675d10c87e7'
* commit '31103928ed5b9091bcd7de74c8a49675d10c87e7':
Implement #2964234: Add support for <uses-package> element to aapt
When passed (with no needed parameters) to the aapt command line,
aapt will insert debuggable=true in the application node of the manifest
automatically.
This is to be used by the SDK tools to make true "debug" builds
that require no code/file change.
Change-Id: I909759caef499a91d10cc9a0902c6448c87e75ef
When passed (with no needed parameters) to the aapt command line,
aapt will insert debuggable=true in the application node of the manifest
automatically.
This is to be used by the SDK tools to make true "debug" builds
that require no code/file change.
Change-Id: I6f0a7af7b7d51f26bb0ec012e6f142a6060b8618
The Local File Header (LFH) offset is printed in debugging cases when
the platform is inspecting APKs. This adds the LFH offset field to the
list of contents of an APK, so that it can be checked easily against the
Central Directory (CD).
Change-Id: I08f9a13256bfe6563c1a963c4f0289789b2e7857
Add knowledge about <fragment class="..."> for layout files
and update to reflect the change of the header tag from Header.
Change-Id: I91e2a5f204a8e222367985383c1721030c7954d8
Merge commit 'e05184f271f9882a5bf828e353aea40e0c06ff69' into gingerbread-plus-aosp
* commit 'e05184f271f9882a5bf828e353aea40e0c06ff69':
Output proguard keep flags for fragment classes.
aapt will ignore any versioned resource directories over the
specified version (if used). e.g. --max-res-version=6 will
cause layout-land-v7 to be ignored.
Merged from gingerbread.
Change-Id: I71b889540380cb10bafb40f72582d3af785ae33a
Merge commit '7525c2cfbbaa5c947c029008ef490e93a50c064f' into gingerbread-plus-aosp
* commit '7525c2cfbbaa5c947c029008ef490e93a50c064f':
Add --max-res-version flag to aapt.
aapt will ignore any versioned resource directories over the
specified version (if used). e.g. --max-res-version=6 will
cause layout-land-v7 to be ignored.
Merged from froyo.
Change-Id: Ia4eabae535b95b75d18b0c83135d44ed9a95b9eb
Merge commit 'e37ab63221af94d69437741a3645fc0e14a680bc' into gingerbread-plus-aosp
* commit 'e37ab63221af94d69437741a3645fc0e14a680bc':
Fix build on some linux machines
This adds -lpthread on linux for aapt and localize, which appear to be
needed on some linux distros.
Signed-off-by: Jean-Baptiste Queru <jbq@google.com>
- Fixes casting problems with stricter compilers
- Adds a couple of missing ifdef guards
This is a first step toward being able to generate APKs on the fly on the device.
Bug: 2766918
Change-Id: Icaaee5a4032afa313256add321b447443861dd85
Merge commit '6b22d81aa35d9a9b32670995c002e92588b2fe09' into gingerbread
* commit '6b22d81aa35d9a9b32670995c002e92588b2fe09':
As Donut (API=4) devices and earlier do not have a Bluetooth API, .apk files
that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be
presumed to require Bluetooth just because they take the permission.
Change-Id: Ia629e9ef0425a577e4e14f9b348f5aa2b39c1e74
Merge commit '9d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a' into gingerbread
* commit '9d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a':
The aapt and aidl tools are prebuilt when we're doing an apps-only build, so don't try to build them.
Translatable strings that have multiple substitutions should use
positional String.format() substitutions. This change makes it an error
not to use that format on translatable strings that have more than one
substitution in its text.
Change-Id: I3a19707f3804aa24e8568dc1653a11576cac5916
Merge commit 'f7ebcfeccbd4433be5252857a854a6b565bf3fb9' into kraken
* commit 'f7ebcfeccbd4433be5252857a854a6b565bf3fb9':
Adding the backward-compatible filtering heuristics for the new device
Not complete, only for experimentation at this point.
This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.
The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.
Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
The previous warning made it seem like it could be using the value
specified on the command line, but, in fact, it would ignore the command
line value if it were already specified in the AndroidManifest.xml
Change-Id: I15e8161e094f17412680d25d3b7b810474eb4a31
For the UTF8/UTF16 switch code, we needed to know what was the
minSdkVersion specified as early as possible. Unfortunately, this threw
warnings when the SDK was compiling since we always set this field in
the Bundle.
This splits out the field used by the initial AndroidManifest.xml scan
to a separate one that we won't attempt to re-insert into the
AndroidManifest.xml This also switches the logic to better reflect the
preference of UTF-8 over UTF-16; previously UTF-16 was the default.
Change-Id: Ia81f6b21047043ebb711eb24c2c3718534979ef6
When you have too many rows and columns, there are not enough colors in
the 9-patch private metadata to represent them. Instead of crashing
aapt, this change gives the user an error message telling them why it's
invalid.
Change-Id: I5e7bd59472a3a2eafa7cbc263792458cce2b5594
When there are two configs in a StringPool that would match a string ID
only keep the more generic entry to save some space. This means that if
you have both "es" and "es_US" translations that have the same
translation, the string entry would be removed from the "es_US" config.
Change-Id: I4d619942d35ddb477e2eabe4437b7f02697c24de
This loosens our restriction on many manifest attributes requiring
literal string values, to allow various ones to use values from
resources. This is only allowed if the resource value does not change
from configuration changes, and the restriction is still in place
for attributes that are core to security (requesting permissions) or
market operation (used libraries and features etc).
Change-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8