Set Build.SERIAL to UNKNOWN for all target SDK

Bug: 117781266
Test: Manually verify 3P app targeting 22 cannot access device serial
Change-Id: I4374f8d29f1e29c4ffce2c7bc9a94d9e33cc5125
This commit is contained in:
Michael Groover
2019-01-25 17:50:12 -08:00
parent 77f4bee9d6
commit c2daefeba5

View File

@@ -177,7 +177,6 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.InetAddress;
import java.text.DateFormat;
@@ -5885,18 +5884,6 @@ public final class ActivityThread extends ClientTransactionHandler {
StrictMode.initThreadDefaults(data.appInfo);
StrictMode.initVmDefaults(data.appInfo);
// We deprecated Build.SERIAL and only apps that target pre NMR1
// SDK can see it. Since access to the serial is now behind a
// permission we push down the value and here we fix it up
// before any app code has been loaded.
try {
Field field = Build.class.getDeclaredField("SERIAL");
field.setAccessible(true);
field.set(Build.class, data.buildSerial);
} catch (NoSuchFieldException | IllegalAccessException e) {
/* ignore */
}
if (data.debugMode != ApplicationThreadConstants.DEBUG_OFF) {
// XXX should have option to change the port.
Debug.changeDebugPort(8100);