Merge "Add agent startup-attach"

This commit is contained in:
Treehugger Robot
2019-08-20 16:20:23 +00:00
committed by Gerrit Code Review

View File

@@ -168,6 +168,8 @@ import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.InetAddress;
import java.nio.file.Files;
import java.nio.file.Path;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Arrays;
@@ -5903,6 +5905,26 @@ public final class ActivityThread extends ClientTransactionHandler {
NetworkSecurityConfigProvider.install(appContext);
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
if (isAppDebuggable) {
try {
// Load all the agents in the code_cache/startup_agents directory.
// We pass the absolute path to the data_dir as an argument.
Path startup_path = appContext.getCodeCacheDir().toPath().resolve("startup_agents");
if (Files.exists(startup_path)) {
for (Path p : Files.newDirectoryStream(startup_path)) {
handleAttachAgent(
p.toAbsolutePath().toString()
+ "="
+ appContext.getDataDir().toPath().toAbsolutePath().toString(),
data.info);
}
}
} catch (Exception e) {
// Ignored.
}
}
// Continue loading instrumentation.
if (ii != null) {
ApplicationInfo instrApp;