Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b7e847a authored by Ryan Mitchell's avatar Ryan Mitchell
Browse files

Do not rename R.java package

When the --rename-resources-package flag is used, only rename the
package name within the resources.arsc. Generate the R.java under
the package name defined by the manifest unless --custom-package is
used.

Bug: 147434671
Test: manual
Change-Id: Id9d10e16f32533da1b67ab72ac846791526e7a76
parent ac774e33
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -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()) {