diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java index 16d5be4e0c45f..f22455047ae5b 100644 --- a/core/java/android/os/StrictMode.java +++ b/core/java/android/os/StrictMode.java @@ -839,6 +839,10 @@ public final class StrictMode { /** * Detect reflective usage of APIs that are not part of the public Android SDK. + * + *

Note that any non-SDK APIs that this processes accesses before this detection is + * enabled may not be detected. To ensure that all such API accesses are detected, + * you should apply this policy as early as possible after process creation. */ public Builder detectNonSdkApiUsage() { return enable(DETECT_VM_NON_SDK_API_USAGE); @@ -1924,8 +1928,10 @@ public final class StrictMode { if ((sVmPolicy.mask & DETECT_VM_NON_SDK_API_USAGE) != 0) { VMRuntime.setNonSdkApiUsageConsumer(sNonSdkApiUsageConsumer); + VMRuntime.setDedupeHiddenApiWarnings(false); } else { VMRuntime.setNonSdkApiUsageConsumer(null); + VMRuntime.setDedupeHiddenApiWarnings(true); } } }