错误信息
03-06 15:43:31.341 E/AndroidRuntime( 1612): *** FATAL EXCEPTION IN SYSTEM PROCESS: EthernetServiceThread
03-06 15:43:31.341 E/AndroidRuntime( 1612): java.lang.NullPointerException: Null reference used for synchronization (monitor-enter)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at com.android.server.ethernet.EthernetNetworkFactory$NetworkInterfaceState.updateAgent(EthernetNetworkFactory.java:428)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at com.android.server.ethernet.EthernetNetworkFactory$NetworkInterfaceState.stop(EthernetNetworkFactory.java:414)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at com.android.server.ethernet.EthernetNetworkFactory$NetworkInterfaceState.onIpLayerStarted(EthernetNetworkFactory.java:348)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at com.android.server.ethernet.EthernetNetworkFactory$NetworkInterfaceState$1.lambda$onProvisioningSuccess$0(EthernetNetworkFactory.java:265)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at com.android.server.ethernet.-$$Lambda$EthernetNetworkFactory$NetworkInterfaceState$1$9XedDO1NtZ_RFArLiXxHcePnujQ.run(Unknown Source:4)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at android.os.Handler.handleCallback(Handler.java:873)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at android.os.Handler.dispatchMessage(Handler.java:99)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at android.os.Looper.loop(Looper.java:193)
03-06 15:43:31.341 E/AndroidRuntime( 1612): at android.os.HandlerThread.run(HandlerThread.java:6
这个原因时我们的锁对象被复制为null了
修改
private Object mObject = new Object();
synchronized (mObject) {
mNetworkAgent.sendNetworkCapabilities(mCapabilities);
mNetworkAgent.sendNetworkInfo(mNetworkInfo);
mNetworkAgent.sendLinkProperties(mLinkProperties);
// never set the network score below 0.
mNetworkAgent.sendNetworkScore(mLinkUp ? NETWORK_SCORE : 0);
}