diff options
author | Googler <noreply@google.com> | 2018-06-06 14:32:29 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-06 14:33:48 -0700 |
commit | ccaccb2b277a82f7264567563a02ab133a0f6e6f (patch) | |
tree | 62f5f3a6a89ec3892d565b4ee630387d0f8e85db /tools | |
parent | 899a3e7ad9853c036bc84b7b6905516df6b7f62b (diff) |
Let blaze obfuscate manual main_dex_list according to proguard map.
PiperOrigin-RevId: 199529974
Diffstat (limited to 'tools')
-rw-r--r-- | tools/android/BUILD.tools | 6 | ||||
-rw-r--r-- | tools/android/dex_list_obfuscator.sh | 41 |
2 files changed, 47 insertions, 0 deletions
diff --git a/tools/android/BUILD.tools b/tools/android/BUILD.tools index 4828323ad7..8def828b18 100644 --- a/tools/android/BUILD.tools +++ b/tools/android/BUILD.tools @@ -444,3 +444,9 @@ package_group( name = "export_deps_whitelist", packages = ["//..."], ) + +sh_binary( + name = "dex_list_obfuscator", + srcs = ["dex_list_obfuscator.sh"], + visibility = ["//visibility:public"], +)
\ No newline at end of file diff --git a/tools/android/dex_list_obfuscator.sh b/tools/android/dex_list_obfuscator.sh new file mode 100644 index 0000000000..ce7e526496 --- /dev/null +++ b/tools/android/dex_list_obfuscator.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Copyright 2018 The Bazel Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Dummy dex list obfuscator doing nothing +# Should be updated to contain an app, that can obfuscate main dex keep list +# according to the proguard map. + +set -eu +input= +output= +while [[ "$#" -gt 0 ]]; do + arg="$1"; shift; + case "${arg}" in + --input) input="$1"; shift ;; + --output) output="$1"; shift ;; + ---obfuscation_map=*) shift ;; + *) echo "Unknown flag: ${arg}"; exit 1 ;; + esac +done + +echo "WARNING: This is just no-op version of the list obfuscator." +echo "It is invoked, because main_dex_list and proguard were both used." +echo "If proguard obfuscates a class, it will not be kept in the main dex even" +echo "if the original name was in the main_dex_list." +echo "The main_dex_list (provided as --input) should be obfuscated using the" +echo "map provided as --obfuscation_map parameter." +echo "If no obfuscation of main dex classes is performed, then noop is OK." + +cp $input $output |