summaryrefslogtreecommitdiff
path: root/tools/aapt2
diff options
context:
space:
mode:
authorRyan Mitchell <rtmitchell@google.com>2020-05-08 17:37:46 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-05-08 17:37:46 +0000
commit5c8dd641bae6ca09a61ba9b6dae76789d9b8e399 (patch)
treea7b4403a80e7a361225220c2eb9f43bbac4b5032 /tools/aapt2
parentabaab46da734468c113f29624255299a89c46905 (diff)
parent2b7e847ac9f3dc7959e27cee86c9d61d11ceacbf (diff)
Merge "Do not rename R.java package" into rvc-dev
Diffstat (limited to 'tools/aapt2')
-rw-r--r--tools/aapt2/cmd/Link.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/tools/aapt2/cmd/Link.cpp b/tools/aapt2/cmd/Link.cpp
index bf886c2f893f..3a3fb2826b74 100644
--- a/tools/aapt2/cmd/Link.cpp
+++ b/tools/aapt2/cmd/Link.cpp
@@ -1766,16 +1766,23 @@ class Linker {
return 1;
}
- // Determine the package name under which to merge resources.
- if (options_.rename_resources_package) {
- context_->SetCompilationPackage(options_.rename_resources_package.value());
- } else if (Maybe<AppInfo> maybe_app_info =
+ // First extract the Package name without modifying it (via --rename-manifest-package).
+ if (Maybe<AppInfo> maybe_app_info =
ExtractAppInfoFromManifest(manifest_xml.get(), context_->GetDiagnostics())) {
- // Extract the package name from the manifest ignoring the value of --rename-manifest-package.
const AppInfo& app_info = maybe_app_info.value();
context_->SetCompilationPackage(app_info.package);
}
+ // Determine the package name under which to merge resources.
+ if (options_.rename_resources_package) {
+ if (!options_.custom_java_package) {
+ // Generate the R.java under the original package name instead of the package name specified
+ // through --rename-resources-package.
+ options_.custom_java_package = context_->GetCompilationPackage();
+ }
+ context_->SetCompilationPackage(options_.rename_resources_package.value());
+ }
+
// Now that the compilation package is set, load the dependencies. This will also extract
// the Android framework's versionCode and versionName, if they exist.
if (!LoadSymbolsFromIncludePaths()) {