使用 Compose For Desktop 码了一个 ADBHelper

985 阅读1分钟

工作之余,我用 Jetpack Compose For Desktop 写了一个Android ADB Helper

没什么关键技术,核心就是:JVM Runtime

下面直接展示成品截图,项目将开源到文末;有兴趣的可以拉下来跑跑。

运行截图

1、当前运行App的基本信息

activity_history.gif

2、应用列表、管理、安装

app_install.gif

app_list.gif

3、adb基本命令操作

forward.gif

4、布局信息解析、搜索

layout_tree.gif

5、多设备切换

multiple_devices.gif

这里有几个槽点,吐一下子(仅代表个人):

  • compose-jb开源也有这么久了,Jeptpack Compose它的跨平台与flutter相比来说相差还是太大了(当然还得是flutter的开源库社区太给力了)。
  • 与其说compose-jb是为跨平台准备的,还不如说是为了desktop专门组织的一个单独的项目,因为它依赖于 java的swing和awt
  • 组件太少,正如下面的截图,使用的大部分组件都是自己封装的,其中不乏ToastDialogLodingOvlerlay(当然了,可能是compose-jb项目之初,没过多考虑单页应用的原因)

总的来说,jetpack compose for all device 仍然任重道远啊 [滑只因.jpg]。

项目地址:GangJust/AdbHelper

最后附一下编译环境:

jdk-18.0.2.1

IntelliJ IDEA 2022.2.3


参考资料:

GitHub: JetBrains/compose-jb

GitHub: mzlogin/awesome-adb

CSDN社区: ADB 操作命令详解及用法大全

简书社区: Runtime.getRuntime().exec 提示-2,找不到指定的文件

腾讯云+社区: 有没有办法通过adb获取当前活动的布局和视图?