123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- Submodule src/base contains modified content
- diff --git a/src/base/tools/aapt2/ResourceTable.cpp b/src/base/tools/aapt2/ResourceTable.cpp
- index 8ab1493c6ab3..3a855f0f6866 100644
- --- a/src/base/tools/aapt2/ResourceTable.cpp
- +++ b/src/base/tools/aapt2/ResourceTable.cpp
- @@ -460,9 +460,7 @@ bool ResourceTable::AddResource(NewResource&& res, IDiagnostics* diag) {
- const bool validate = validation_ == Validation::kEnabled;
- const Source source = res.value ? res.value->GetSource() : Source{};
- if (validate && !res.allow_mangled && !IsValidResourceEntryName(res.name.entry)) {
- - diag->Error(DiagMessage(source)
- - << "resource '" << res.name << "' has invalid entry name '" << res.name.entry);
- - return false;
- + return true;
- }
-
- if (res.id.has_value() && !res.id->first.is_valid()) {
- diff --git a/src/base/tools/aapt2/ResourceUtils.cpp b/src/base/tools/aapt2/ResourceUtils.cpp
- index e0e80ac02dea..f74d7f106220 100644
- --- a/src/base/tools/aapt2/ResourceUtils.cpp
- +++ b/src/base/tools/aapt2/ResourceUtils.cpp
- @@ -222,7 +222,7 @@ bool ParseAttributeReference(const StringPiece& str, ResourceNameRef* out_ref) {
- }
-
- if (!type.empty() && type != "attr") {
- - return false;
- + // Apktool: Don't die out if private resource.
- }
-
- if (entry.empty()) {
- diff --git a/src/base/tools/aapt2/Resources.proto b/src/base/tools/aapt2/Resources.proto
- index 95b794964068..3cdadfd637e3 100644
- --- a/src/base/tools/aapt2/Resources.proto
- +++ b/src/base/tools/aapt2/Resources.proto
- @@ -16,7 +16,7 @@
-
- syntax = "proto3";
-
- -import "frameworks/base/tools/aapt2/Configuration.proto";
- +import "Configuration.proto";
-
- package aapt.pb;
-
- @@ -636,4 +636,4 @@ message StyleString {
- message UntranslatableSection {
- uint64 start_index = 1;
- uint64 end_index = 2;
- -}
- \ No newline at end of file
- +}
- diff --git a/src/base/tools/aapt2/ResourcesInternal.proto b/src/base/tools/aapt2/ResourcesInternal.proto
- index b0ed3da33368..97aa5af7724f 100644
- --- a/src/base/tools/aapt2/ResourcesInternal.proto
- +++ b/src/base/tools/aapt2/ResourcesInternal.proto
- @@ -16,8 +16,8 @@
-
- syntax = "proto3";
-
- -import "frameworks/base/tools/aapt2/Configuration.proto";
- -import "frameworks/base/tools/aapt2/Resources.proto";
- +import "Configuration.proto";
- +import "Resources.proto";
-
- package aapt.pb.internal;
-
- diff --git a/src/base/tools/aapt2/cmd/Link.cpp b/src/base/tools/aapt2/cmd/Link.cpp
- index e4d0f3b6bd23..aa43ee07bfac 100644
- --- a/src/base/tools/aapt2/cmd/Link.cpp
- +++ b/src/base/tools/aapt2/cmd/Link.cpp
- @@ -2326,9 +2326,9 @@ int LinkCommand::Action(const std::vector<std::string>& args) {
- if (package_id_int > std::numeric_limits<uint8_t>::max()
- || package_id_int == kFrameworkPackageId
- || (!options_.allow_reserved_package_id && package_id_int < kAppPackageId)) {
- - context.GetDiagnostics()->Error(
- + context.GetDiagnostics()->Warn(
- DiagMessage() << StringPrintf(
- - "invalid package ID 0x%02x. Must be in the range 0x7f-0xff.", package_id_int));
- + "invalid package ID 0x%02x. Must be in the range 0x7f-0xff. Ignoring...", package_id_int));
- return 1;
- }
- context.SetPackageId(static_cast<uint8_t>(package_id_int));
- @@ -2410,6 +2410,23 @@ int LinkCommand::Action(const std::vector<std::string>& args) {
- ".mpg", ".mpeg", ".mp4", ".m4a", ".m4v", ".3gp", ".3gpp", ".3g2", ".3gpp2", ".wma", ".wmv",
- ".webm", ".mkv"});
-
- + // Populate no compress extensions specified in the extensions file.
- + if (options_.extensions_to_not_compress_path) {
- + std::ifstream extensionsFile(options_.extensions_to_not_compress_path.value());
- +
- + if (extensionsFile.fail()) {
- + context.GetDiagnostics()->Error(
- + DiagMessage() << "could not open extensions file "
- + << options_.extensions_to_not_compress_path.value()
- + << " for reading");
- + return 1;
- + }
- +
- + for (std::string line; getline(extensionsFile, line);) {
- + options_.extensions_to_not_compress.insert(line);
- + }
- + }
- +
- // Turn off auto versioning for static-libs.
- if (context.GetPackageType() == PackageType::kStaticLib) {
- options_.no_auto_version = true;
- diff --git a/src/base/tools/aapt2/cmd/Link.h b/src/base/tools/aapt2/cmd/Link.h
- index 768b4b2c7bfd..6dd220515674 100644
- --- a/src/base/tools/aapt2/cmd/Link.h
- +++ b/src/base/tools/aapt2/cmd/Link.h
- @@ -71,6 +71,7 @@ struct LinkOptions {
- bool do_not_compress_anything = false;
- std::unordered_set<std::string> extensions_to_not_compress;
- Maybe<std::regex> regex_to_not_compress;
- + Maybe<std::string> extensions_to_not_compress_path;
-
- // Static lib options.
- bool no_static_lib_packages = false;
- @@ -272,6 +273,8 @@ class LinkCommand : public Command {
- &options_.manifest_fixer_options.rename_overlay_target_package);
- AddOptionalFlagList("-0", "File suffix not to compress.",
- &options_.extensions_to_not_compress);
- + AddOptionalFlag("-e", "File containing list of extensions not to compress.",
- + &options_.extensions_to_not_compress_path);
- AddOptionalSwitch("--no-compress", "Do not compress any resources.",
- &options_.do_not_compress_anything);
- AddOptionalSwitch("--keep-raw-values", "Preserve raw attribute values in xml files.",
- diff --git a/src/base/tools/aapt2/java/JavaClassGenerator.cpp b/src/base/tools/aapt2/java/JavaClassGenerator.cpp
- index de6524dc7027..0a968c11a13b 100644
- --- a/src/base/tools/aapt2/java/JavaClassGenerator.cpp
- +++ b/src/base/tools/aapt2/java/JavaClassGenerator.cpp
- @@ -58,6 +58,8 @@ static const std::set<StringPiece> sJavaIdentifiers = {
- "true", "false", "null"};
-
- static bool IsValidSymbol(const StringPiece& symbol) {
- + // Apktool: Everything is a valid symbol
- + return true;
- return sJavaIdentifiers.find(symbol) == sJavaIdentifiers.end();
- }
-
- diff --git a/src/base/tools/aapt2/link/PrivateAttributeMover.cpp b/src/base/tools/aapt2/link/PrivateAttributeMover.cpp
- index 675b02a7e161..fb2b11da5ee4 100644
- --- a/src/base/tools/aapt2/link/PrivateAttributeMover.cpp
- +++ b/src/base/tools/aapt2/link/PrivateAttributeMover.cpp
- @@ -81,7 +81,6 @@ bool PrivateAttributeMover::Consume(IAaptContext* context, ResourceTable* table)
- }
-
- ResourceTableType* priv_attr_type = package->FindOrCreateType(ResourceType::kAttrPrivate);
- - CHECK(priv_attr_type->entries.empty());
- priv_attr_type->entries = std::move(private_attr_entries);
- }
- return true;
- diff --git a/src/base/tools/aapt2/util/Util.cpp b/src/base/tools/aapt2/util/Util.cpp
- index d7a8e6fe6ada..74457add2e6b 100644
- --- a/src/base/tools/aapt2/util/Util.cpp
- +++ b/src/base/tools/aapt2/util/Util.cpp
- @@ -23,7 +23,6 @@
-
- #include "android-base/stringprintf.h"
- #include "androidfw/StringPiece.h"
- -#include "build/version.h"
-
- #include "text/Unicode.h"
- #include "text/Utf8Iterator.h"
- @@ -231,10 +230,7 @@ std::string GetToolFingerprint() {
- // Update minor version whenever a feature or flag is added.
- static const char* const sMinorVersion = "19";
-
- - // The build id of aapt2 binary.
- - static const std::string sBuildId = android::build::GetBuildNumber();
- -
- - return android::base::StringPrintf("%s.%s-%s", sMajorVersion, sMinorVersion, sBuildId.c_str());
- + return android::base::StringPrintf("%s.%s", sMajorVersion, sMinorVersion);
- }
-
- static size_t ConsumeDigits(const char* start, const char* end) {
|