Reland "Don't enable jdwp by default on userdebug builds""

This reverts commit 50c258ca37.

Reason for revert: Relanding after fixes for the failures Fixes:
1. Mark the com.android.perftests.core as profileable from shell so
that we would be able to read /proc/self/io
2. Fix a JDWP test to expect the new behaviour on userdebug builds.
We can no longer attach debugger on profileable apps on userdebug builds

Bug: 240410400, 246616689
Test: System boots
Change-Id: I6fff6f1a683893244bc2d40f930044747befb2ce
This commit is contained in:
Mythri Alle
2022-09-15 11:16:32 +00:00
parent 817021b9b7
commit 0fc653c307
2 changed files with 13 additions and 4 deletions

View File

@@ -15,6 +15,7 @@
<application>
<uses-library android:name="android.test.runner" />
<profileable android:shell="true" />
<activity android:name="android.perftests.utils.PerfTestActivity"
android:exported="true">
<intent-filter>

View File

@@ -1000,17 +1000,25 @@ public final class Zygote {
}
}
/**
* This will enable jdwp by default for all apps. It is OK to cache this property
* because we expect to reboot the system whenever this property changes
*/
private static final boolean ENABLE_JDWP = SystemProperties.get(
"persist.debug.dalvik.vm.jdwp.enabled").equals("1");
/**
* Applies debugger system properties to the zygote arguments.
*
* If "ro.debuggable" is "1", all apps are debuggable. Otherwise,
* the debugger state is specified via the "--enable-jdwp" flag
* in the spawn request.
* For eng builds all apps are debuggable. On userdebug and user builds
* if persist.debuggable.dalvik.vm.jdwp.enabled is 1 all apps are
* debuggable. Otherwise, the debugger state is specified via the
* "--enable-jdwp" flag in the spawn request.
*
* @param args non-null; zygote spawner args
*/
static void applyDebuggerSystemProperty(ZygoteArguments args) {
if (RoSystemProperties.DEBUGGABLE) {
if (Build.IS_ENG || ENABLE_JDWP) {
args.mRuntimeFlags |= Zygote.DEBUG_ENABLE_JDWP;
}
}