升级到 AndroidStudio 最新版本( >3.2 )朋友们都会遇到一个问题,找不到 DDMS [Android Device Monitor], 只能从 SDK 目录下找到 monitor 启动 DDMS [Android Device Monitor],所以写了一个插件快速启动 Android Device Monitor

源码及使用方式

开发工具:IntelliJ IDEA

安装方式:

  • 打开 AndroidStudio
  • 选择 Preference -> Plugins-> install plugin from disk
  • 选择下载好的插件 [DeviceMonitorPlugin.jar] -> 重启 AndroidStudio

解决Android Studio版本大于3.2找不到Android Device Monitor工具_android

如何启动:

  • 打开 AndroidStudio
  • 菜单栏 tools -> 单击 DeviceMonitor

解决Android Studio版本大于3.2找不到Android Device Monitor工具_github_02

PS: Google 虽然删除了 AdnroidStudio 启动入口,但是本地 SDK 中还是存在,插件通过动态获取本地 SDK 路径启动 AndroidDeviceMonitor, 由于电脑性能不同,启动速度会有不同

Google 为什么弃用 Android Device Monitor

解决Android Studio版本大于3.2找不到Android Device Monitor工具_源码分析_03

Android Device Monitor 是一个 Android 应用调试和分析工具提供了一个 UI 工具,但是大部分组件在 Android Studio 3.1 已经弃用了, 并且会在 Android Studio 3.2 中移除,将会用新的工具帮助开发人员调试和分析 Android 应用​

插件核心代码

public class Monitor extends AnAction {

@Override
public void actionPerformed(AnActionEvent anActionEvent) {

try {

Project project = anActionEvent.getData(PlatformDataKeys.PROJECT);

String os = AndroidUtils.getPlatformName();
String sdkPath = AndroidUtils.getApkLocalProperties(project);
if (os.toLowerCase().startsWith("win")) {
sdkPath += File.separator + "tools" + File.separator + "monitor.bat";
} else {
sdkPath += File.separator + "tools" + File.separator + "monitor";
}

Runtime.getRuntime().exec(sdkPath);
} catch (Exception e) {

}

}
}
/**
* 动态获取本地Android SDK的路径
*
* @param project
* @return
*/
public static String getApkLocalProperties(Project project) {

String sdkPath = "";

try {

String path = project.getBasePath() + File.separator + "local.properties";

Properties properties = new Properties();
InputStream inputStream = new FileInputStream(path);
properties.load(inputStream);

sdkPath = properties.getProperty("sdk.dir");
} catch (Exception e) {

}
return sdkPath;
}

结语

致力于分享一系列 Android 系统源码、逆向分析、算法、翻译、Jetpack 源码相关的文章,如果你喜欢这篇文章欢迎 Star 一起来学习,期待与你一起成长