diff options
Diffstat (limited to 'java/aapt2.go')
| -rw-r--r-- | java/aapt2.go | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/java/aapt2.go b/java/aapt2.go index bae4d1ee3..4efa6655a 100644 --- a/java/aapt2.go +++ b/java/aapt2.go @@ -52,14 +52,15 @@ func pathToAapt2Path(ctx android.ModuleContext, res android.Path) android.Writab } subDir := filepath.Dir(res.String()) subDir, lastDir := filepath.Split(subDir) - if isFlagsPath(subDir) { - var flag string + var flag string + if isFlagsPath(lastDir) { + flag = "." + strings.TrimPrefix(lastDir, "flag") + subDir, lastDir = filepath.Split(filepath.Dir(subDir)) + } else if isFlagsPath(subDir) { subDir, flag = filepath.Split(filepath.Dir(subDir)) - flag = strings.TrimPrefix(flag, "flag") - name = fmt.Sprintf("%s_%s.%s%s.flat", lastDir, name, flag, extension) - } else { - name = fmt.Sprintf("%s_%s%s.flat", lastDir, name, extension) + flag = "." + strings.TrimPrefix(flag, "flag") } + name = fmt.Sprintf("%s_%s%s%s.flat", lastDir, name, flag, extension) out := android.PathForModuleOut(ctx, "aapt2", subDir, name) return out } @@ -332,15 +333,20 @@ func aapt2ExtractExtraPackages(ctx android.ModuleContext, out android.WritablePa var aapt2ConvertRule = pctx.AndroidStaticRule("aapt2Convert", blueprint.RuleParams{ - Command: `${config.Aapt2Cmd} convert --enable-compact-entries ` + + Command: `${config.Aapt2Cmd} convert $flags ` + `--output-format $format $in -o $out`, CommandDeps: []string{"${config.Aapt2Cmd}"}, - }, "format", + }, "format", "flags", ) // Converts xml files and resource tables (resources.arsc) in the given jar/apk file to a proto // format. The proto definition is available at frameworks/base/tools/aapt2/Resources.proto. func aapt2Convert(ctx android.ModuleContext, out android.WritablePath, in android.Path, format string) { + extraFlags := []string{"--enable-compact-entries"} + if ctx.Config().ReleaseUseSparseEncoding() { + extraFlags = append(extraFlags, "--enable-sparse-encoding") + } + ctx.Build(pctx, android.BuildParams{ Rule: aapt2ConvertRule, Input: in, @@ -348,6 +354,7 @@ func aapt2Convert(ctx android.ModuleContext, out android.WritablePath, in androi Description: "convert to " + format, Args: map[string]string{ "format": format, + "flags": strings.Join(extraFlags, " "), }, }) } |
