diff options
author | Scott Lobdell <slobdell@google.com> | 2019-01-31 11:53:41 -0800 |
---|---|---|
committer | Scott Lobdell <slobdell@google.com> | 2019-02-01 14:08:42 -0800 |
commit | 88b45c586d461df38b866d529bc98d1dfa3e8838 (patch) | |
tree | ae57a86275dac94c0899015923778f3016c865b2 /tools/aapt2/cmd/Optimize.cpp | |
parent | 067596650927fa91a97355e84b152b21826f7ae2 (diff) | |
parent | 9b9ca46fc2d3da231bf9ef6ff630105720f94cf2 (diff) |
Merge QP1A.190122.001
Conflicts:
api/system-current.txt
core/java/android/bluetooth/BluetoothAdapter.java
core/jni/android_util_Process.cpp
core/jni/com_android_internal_os_Zygote.cpp
core/res/res/values/config.xml
core/res/res/values/symbols.xml
media/java/android/media/MediaCodecInfo.java
packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
services/core/java/com/android/server/ConnectivityService.java
services/core/java/com/android/server/LocationManagerService.java
services/core/java/com/android/server/am/ActivityManagerService.java
services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
services/core/java/com/android/server/location/GnssLocationProvider.java
services/core/java/com/android/server/wm/ActivityStack.java
services/net/java/android/net/ip/IpClient.java
telecomm/java/android/telecom/Connection.java
telephony/java/android/telephony/ims/ImsCallSession.java
telephony/java/android/telephony/ims/ImsCallSessionListener.java
telephony/java/android/telephony/ims/aidl/IImsCallSessionListener.aidl
telephony/java/android/telephony/ims/compat/stub/ImsCallSessionImplBase.java
telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl
wifi/java/android/net/wifi/WifiConfiguration.java
Change-Id: I367301986f2ae80a528050c3d78776b5a4c6b5ee
Diffstat (limited to 'tools/aapt2/cmd/Optimize.cpp')
-rw-r--r-- | tools/aapt2/cmd/Optimize.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/aapt2/cmd/Optimize.cpp b/tools/aapt2/cmd/Optimize.cpp index 328b0beda372..2e6af18c1948 100644 --- a/tools/aapt2/cmd/Optimize.cpp +++ b/tools/aapt2/cmd/Optimize.cpp @@ -41,6 +41,7 @@ #include "optimize/MultiApkGenerator.h" #include "optimize/ResourceDeduper.h" #include "optimize/ResourceFilter.h" +#include "optimize/ResourcePathShortener.h" #include "optimize/VersionCollapser.h" #include "split/TableSplitter.h" #include "util/Files.h" @@ -52,6 +53,7 @@ using ::android::ConfigDescription; using ::android::ResTable_config; using ::android::StringPiece; using ::android::base::ReadFileToString; +using ::android::base::WriteStringToFile; using ::android::base::StringAppendF; using ::android::base::StringPrintf; @@ -143,6 +145,21 @@ class Optimizer { return 1; } + if (options_.shorten_resource_paths) { + ResourcePathShortener shortener(options_.table_flattener_options.shortened_path_map); + if (!shortener.Consume(context_, apk->GetResourceTable())) { + context_->GetDiagnostics()->Error(DiagMessage() << "failed shortening resource paths"); + return 1; + } + if (options_.shortened_paths_map_path + && !WriteShortenedPathsMap(options_.table_flattener_options.shortened_path_map, + options_.shortened_paths_map_path.value())) { + context_->GetDiagnostics()->Error(DiagMessage() + << "failed to write shortened resource paths to file"); + return 1; + } + } + // Adjust the SplitConstraints so that their SDK version is stripped if it is less than or // equal to the minSdk. options_.split_constraints = @@ -264,6 +281,15 @@ class Optimizer { ArchiveEntry::kAlign, writer); } + bool WriteShortenedPathsMap(const std::map<std::string, std::string> &path_map, + const std::string &file_path) { + std::stringstream ss; + for (auto it = path_map.cbegin(); it != path_map.cend(); ++it) { + ss << it->first << " -> " << it->second << "\n"; + } + return WriteStringToFile(ss.str(), file_path); + } + OptimizeOptions options_; OptimizeContext* context_; }; |