Jarjar utils into framework-wifi and share with wifi-service
Jarjar utility classes used by both framework-wifi and wifi-service into framework-wifi and allow them to be referenced by wifi-service. Create framework-wifi-util-lib which contains utility classes that we will copy into the Wifi module. It is statically linked into framework-wifi and dynamically linked by wifi-service. Create framework-wifi-pre-jarjar to allow wifi-service to use the pre-rename symbols in framework-wifi-util-lib. In essence: 1. build framework-wifi-util-lib, framework-wifi-pre-jarjar, wifi-service-pre-jarjar using original symbol names. 2. rename everything afterwards at the same time. This ensures that all symbol names are consistent at each step in the build process. Bug: 142886292 Test: device boots up and connects to wifi Change-Id: I27b3519657d652787714b4b34de6cdbfef2a81e4
This commit is contained in:
26
Android.bp
26
Android.bp
@@ -604,6 +604,7 @@ gensrcs {
|
||||
filegroup {
|
||||
name: "framework-annotations",
|
||||
srcs: [
|
||||
"core/java/android/annotation/CheckResult.java",
|
||||
"core/java/android/annotation/IntDef.java",
|
||||
"core/java/android/annotation/IntRange.java",
|
||||
"core/java/android/annotation/NonNull.java",
|
||||
@@ -615,6 +616,7 @@ filegroup {
|
||||
"core/java/android/annotation/UnsupportedAppUsage.java",
|
||||
"core/java/com/android/internal/annotations/GuardedBy.java",
|
||||
"core/java/com/android/internal/annotations/VisibleForTesting.java",
|
||||
"core/java/com/android/internal/annotations/Immutable.java",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -1148,10 +1150,31 @@ filegroup {
|
||||
],
|
||||
}
|
||||
|
||||
// utility classes statically linked into framework-wifi and dynamically linked
|
||||
// into wifi-service
|
||||
java_library {
|
||||
name: "framework-wifi-util-lib",
|
||||
sdk_version: "core_current",
|
||||
srcs: [
|
||||
"core/java/android/content/pm/BaseParceledListSlice.java",
|
||||
"core/java/android/content/pm/ParceledListSlice.java",
|
||||
"core/java/com/android/internal/util/AsyncChannel.java",
|
||||
"core/java/com/android/internal/util/AsyncService.java",
|
||||
"core/java/com/android/internal/util/Protocol.java",
|
||||
"core/java/com/android/internal/util/Preconditions.java",
|
||||
],
|
||||
libs: [
|
||||
"framework-annotations-lib",
|
||||
"unsupportedappusage",
|
||||
"android_system_stubs_current",
|
||||
],
|
||||
visibility: ["//frameworks/base/wifi"],
|
||||
}
|
||||
|
||||
// utility classes statically linked into wifi-service
|
||||
filegroup {
|
||||
name: "framework-wifi-service-shared-srcs",
|
||||
srcs: [
|
||||
":framework-annotations",
|
||||
"core/java/android/net/InterfaceConfiguration.java",
|
||||
"core/java/android/os/BasicShellCommandHandler.java",
|
||||
"core/java/android/os/HandlerExecutor.java",
|
||||
@@ -1162,7 +1185,6 @@ filegroup {
|
||||
"core/java/com/android/internal/util/HexDump.java",
|
||||
"core/java/com/android/internal/util/IState.java",
|
||||
"core/java/com/android/internal/util/MessageUtils.java",
|
||||
"core/java/com/android/internal/util/Preconditions.java",
|
||||
"core/java/com/android/internal/util/State.java",
|
||||
"core/java/com/android/internal/util/StateMachine.java",
|
||||
"core/java/com/android/internal/util/WakeupMessage.java",
|
||||
|
||||
@@ -52,10 +52,15 @@ test_access_hidden_api_whitelist = [
|
||||
"//external/robolectric-shadows:__subpackages__",
|
||||
]
|
||||
|
||||
// wifi-service needs pre-jarjared version of framework-wifi so it can reference copied utility
|
||||
// classes before they are renamed.
|
||||
java_library {
|
||||
name: "framework-wifi",
|
||||
name: "framework-wifi-pre-jarjar",
|
||||
// TODO(b/140299412) should be core_current once we build against framework-system-stubs
|
||||
sdk_version: "core_platform",
|
||||
static_libs: [
|
||||
"framework-wifi-util-lib",
|
||||
],
|
||||
libs: [
|
||||
// TODO(b/140299412) should be framework-system-stubs once we fix all @hide dependencies
|
||||
"framework-minus-apex",
|
||||
@@ -64,6 +69,23 @@ java_library {
|
||||
srcs: [
|
||||
":framework-wifi-updatable-sources",
|
||||
],
|
||||
installable: false,
|
||||
visibility: [
|
||||
"//frameworks/opt/net/wifi/service",
|
||||
"//frameworks/opt/net/wifi/tests/wifitests",
|
||||
],
|
||||
}
|
||||
|
||||
// post-jarjar version of framework-wifi
|
||||
java_library {
|
||||
name: "framework-wifi",
|
||||
// TODO(b/140299412) should be core_current once we build against framework-system-stubs
|
||||
sdk_version: "core_platform",
|
||||
static_libs: [
|
||||
"framework-wifi-pre-jarjar",
|
||||
],
|
||||
jarjar_rules: ":wifi-jarjar-rules",
|
||||
|
||||
installable: true,
|
||||
optimize: {
|
||||
enabled: false
|
||||
@@ -122,3 +144,8 @@ java_defaults {
|
||||
],
|
||||
visibility: test_access_hidden_api_whitelist,
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "wifi-jarjar-rules",
|
||||
srcs: ["jarjar-rules.txt"],
|
||||
}
|
||||
|
||||
37
wifi/jarjar-rules.txt
Normal file
37
wifi/jarjar-rules.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
rule android.net.InterfaceConfigurationParcel* @0
|
||||
rule android.net.InterfaceConfiguration* com.android.server.x.wifi.net.InterfaceConfiguration@1
|
||||
|
||||
# We don't jar-jar the entire package because, we still use some classes (like
|
||||
# AsyncChannel in com.android.internal.util) from these packages which are not
|
||||
# inside our jar (currently in framework.jar, but will be in wifisdk.jar in the future).
|
||||
rule com.android.internal.util.FastXmlSerializer* com.android.server.x.wifi.util.FastXmlSerializer@1
|
||||
rule com.android.internal.util.HexDump* com.android.server.x.wifi.util.HexDump@1
|
||||
rule com.android.internal.util.IState* com.android.server.x.wifi.util.IState@1
|
||||
rule com.android.internal.util.MessageUtils* com.android.server.x.wifi.util.MessageUtils@1
|
||||
rule com.android.internal.util.State* com.android.server.x.wifi.util.State@1
|
||||
rule com.android.internal.util.StateMachine* com.android.server.x.wifi.util.StateMachine@1
|
||||
rule com.android.internal.util.WakeupMessage* com.android.server.x.wifi.util.WakeupMessage@1
|
||||
rule com.android.internal.util.XmlUtils* com.android.server.x.wifi.util.XmlUtils@1
|
||||
|
||||
rule android.util.BackupUtils* com.android.server.x.wifi.util.BackupUtils@1
|
||||
rule android.util.LocalLog* com.android.server.x.wifi.util.LocalLog@1
|
||||
rule android.util.Rational* com.android.server.x.wifi.util.Rational@1
|
||||
|
||||
rule android.os.BasicShellCommandHandler* com.android.server.x.wifi.os.BasicShellCommandHandler@1
|
||||
rule android.os.HandlerExecutor* com.android.server.x.wifi.os.HandlerExecutor@1
|
||||
|
||||
# Use our statically linked bouncy castle library
|
||||
rule org.bouncycastle.** com.android.server.x.wifi.bouncycastle.@1
|
||||
# Use our statically linked protobuf library
|
||||
rule com.google.protobuf.** com.android.server.x.wifi.protobuf.@1
|
||||
# Use our statically linked PlatformProperties library
|
||||
rule android.sysprop.** com.android.server.x.wifi.sysprop.@1
|
||||
|
||||
|
||||
# used by both framework-wifi and wifi-service
|
||||
rule android.content.pm.BaseParceledListSlice* android.x.net.wifi.util.BaseParceledListSlice@1
|
||||
rule android.content.pm.ParceledListSlice* android.x.net.wifi.util.ParceledListSlice@1
|
||||
rule com.android.internal.util.AsyncChannel* android.x.net.wifi.util.AsyncChannel@1
|
||||
rule com.android.internal.util.AsyncService* android.x.net.wifi.util.AsyncService@1
|
||||
rule com.android.internal.util.Preconditions* android.x.net.wifi.util.Preconditions@1
|
||||
rule com.android.internal.util.Protocol* android.x.net.wifi.util.Protocol@1
|
||||
Reference in New Issue
Block a user