升级到 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
如何启动:
- 打开 AndroidStudio
- 菜单栏 tools -> 单击 DeviceMonitor
PS: Google 虽然删除了 AdnroidStudio 启动入口,但是本地 SDK 中还是存在,插件通过动态获取本地 SDK 路径启动 AndroidDeviceMonitor, 由于电脑性能不同,启动速度会有不同
Google 为什么弃用 Android Device Monitor
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 一起来学习,期待与你一起成长