summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi NGUYEN VAN <reminv@google.com>2020-06-24 08:04:29 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-06-24 08:04:29 +0000
commit4a61b59c36ff0a0839dc7b3d5dd1a9576e977797 (patch)
treed407c9211be4fa2824fc06932cfa01be159f5818
parente8c06ffbf49b3b2eb8b1b15fce485182e1c495e5 (diff)
parent65e067f32e512a3aab6d7c01a83c8dd0d3e7f750 (diff)
Merge "Jarjar com.google.protobuf" into rvc-dev am: 65e067f32e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/NetworkStack/+/11952738 Change-Id: I546461bbd9e498b605045743ce3108c8a7484015
-rw-r--r--Android.bp3
-rw-r--r--jarjar-rules-shared.txt1
-rw-r--r--proguard.flags7
3 files changed, 11 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
index 6ccbd18..ae19a1c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -91,6 +91,7 @@ java_defaults {
"netlink-client",
"networkstack-client",
"net-utils-framework-common",
+ // See note on statsprotos when adding/updating proto build rules
"datastallprotosnano",
"statsprotos",
"captiveportal-lib",
@@ -293,6 +294,8 @@ android_app {
required: ["NetworkPermissionConfig"],
}
+// When adding or modifying protos, the jarjar rules and possibly proguard rules need
+// to be updated: proto libraries may pull additional static libraries.
java_library_static {
name: "statsprotos",
proto: {
diff --git a/jarjar-rules-shared.txt b/jarjar-rules-shared.txt
index c4f4602..438fc61 100644
--- a/jarjar-rules-shared.txt
+++ b/jarjar-rules-shared.txt
@@ -2,6 +2,7 @@
rule com.android.net.module.util.** com.android.networkstack.util.@1
rule com.android.internal.util.** android.net.networkstack.util.@1
+rule com.google.protobuf.** com.android.networkstack.protobuf.@1
# Classes from net-utils-framework-common
rule com.android.net.module.util.** com.android.networkstack.util.@1
diff --git a/proguard.flags b/proguard.flags
index c60f6c3..af4262a 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -7,3 +7,10 @@
static final int CMD_*;
static final int EVENT_*;
}
+
+# The lite proto runtime uses reflection to access fields based on the names in
+# the schema, keep all the fields.
+# This replicates the base proguard rule used by the build by default
+# (proguard_basic_keeps.flags), but needs to be specified here because the
+# com.google.protobuf package is jarjared to the below package.
+-keepclassmembers class * extends com.android.networkstack.protobuf.MessageLite { <fields>; }