diff options
| author | mosimchah <mosimchah@gmail.com> | 2025-12-02 09:27:38 -0500 |
|---|---|---|
| committer | mosimchah <mosimchah@gmail.com> | 2025-12-02 09:27:38 -0500 |
| commit | c7bade461dc55726f62997d13a48582f7c4b4655 (patch) | |
| tree | ea0588da76060a2038f54f67efd046ca77634b10 /java/aapt2.go | |
| parent | 0f5414d19317805e8bbbe7c4db5f0fd78769bad5 (diff) | |
| parent | 89d78cff8b00d3b20a90074635c3fe5a2ee49474 (diff) | |
Merge branch 'lineage-23.1' of https://github.com/LineageOS/android_build_soong into HEADw16.1
* 'lineage-23.1' of https://github.com/LineageOS/android_build_soong: (528 commits)
Revert "install_symlink: Make symlink target configurable"
Reapply "Clear as much of cc.Module as possible after GenerateBuildActions"
Revert "rust: config: Fix missing CPU variant LD flags in Rust"
Rename build-flag in outdir
Revert^4 "cipd: Default CIPD proxy server to on, add opt-out"
Convert check-vintf-all to phony with actions
Create a partial implementation of check-vintf-all for soong-only
Configure RBE rust pool based on build variant
Revert^3 "Add sdk version check to arr"
Add jdk.internal.invoke to the allowlist
Make droid always depend on symbols zip
Import Device and Odm skus
Don't install gob_gen in Soong
Remove bazel reference from run_integration_tests.sh
Fix bootstrap_test.sh
Don't panic in aconfig libraries when AllowMissingDependencies is set
Avoid returning nil paths from PathForModuleSrc
Revert "Flag controled clang version"
Rework module target dependencies on required deps
Revert^2 "Add sdk version check to arr"
...
Change-Id: I6e9a63fa14fda917a42e426e5dcebbad7f67e1de
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, " "), }, }) } |
