注册

这么好的Android开发辅助工具App不白嫖可惜了

过年期间闲来没事,手撸了一个辅助Android开发调试的工具App,适合Android开发者和测试同学使用。


Github地址下载,
Gitee地址下载(需要登录gitee)


或者去Google Play安装


功能概览


对我这样的懒人开发者来说,反复的做同样一件事简直太煎熬了,因此我把我平时开发中需要反复操作的命令和一些繁琐的操作整理成了一个工具。


废话不多说, 先上图了解下工具的大概功能有哪些(内容比截图丰富,欢迎下载体验)



dcb7a4d123b044e7b717c1527ba394bb~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp
1054b33ea2b54b8bb6f963f5b90c625b~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp
6c1df213092a4ac28fdc4f8baf72fb55~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp


0e33835d916c4cebac065b4c3dd10105~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp
4732af44a5f942d8a185004ef01930b5~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp
51ade9cdbb5e4fe68dc0b62bfb1726dc~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp

CodeCrafts的核心是一个可拖动的侧边栏的悬浮窗,悬浮窗可以折叠或展开,悬浮窗中包含5大块功能分别对应一个TAB, 这5大块功能分别是应用控制、开发者选项、常用功能,常用系统设置和全局功能


请看视频预览:


floating-bar.gif


高清原图 introduction-floating-bar.gif


功能明细


1. 应用控制


应用控制能力将一些日常开发过程中对应用的一些繁琐的操作或者命令行指令转变为可视化的操作,而且还有自动收集和整理Crash, ANR日志,并且可以自动关联Logcat日志


文字太繁琐, 请直接看视频


application-control.gif


高清原图 introduction-application-controls.gif


2. 开发者选项


这里的开发者选项功能是将系统的开发者选项中一些最常用的开关放在悬浮窗中, 随时启用或关闭。
优势是不需要频繁去系统的开发者选项中去找对应开关,一键开闭。


我调研了其他有类似能力的工具App,都是引导用户去开发者选项中去开启或关闭功能。CodeCrafts一键开闭,无需跳转到系统开发者选项页面。


请看视频预览:


developer-options.gif


p2.gif


3. 最常用功能


没什么好介绍的,略。


4. 常用系统设置页面


这里承载了一些开发过程中经常需要打开的系统设置页面的快捷按钮,没什么好介绍的,略


5. 全局功能


这里的全局是相对于应用控制的,应用控制可以选择你正在开发的任意一款App, 然后应用控制中的所有能力都是对你的这个App的操作。 而全局控制中的功能不针对选中的App,所有App都适用


5.1 实时数据(Realtime data)


实时数据会随着当前页面变化或者系统事件实时变化


6c1df213092a4ac28fdc4f8baf72fb55~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp

(以上图为例介绍, 实时数据的内容不仅仅只有这些)

内容含义用途
org.chromium.chrome.browser.firstrun.FirstRunActivity当前Activity的类名代码定位
launch time: 208ms当前Activity的冷启动耗时启动优化
com.android.chrome当前Activity所在应用的包名常用信息
Chrome(uid: 10163)当前Activity所在应用的名称和UID常用信息
pid: 23017当前Activity的进程ID常用信息
192.168.2.56,...当前系统的IP地址,可能有多个adb connect等
system当前应用是系统应用
allowBackUp当前应用有allowBackUp属性告警
实时数据未来还会有更多的扩展内容

5.2 不锁定屏幕


不会进入锁屏状态,也不会灭屏,避免开发过程中老是自动锁屏。


和系统开发者选项中的功能类似,区别是无论是否插入USB线都有效,开发者选项中的拔掉USB线后就无效了。
都可以用,具体选择看你的使用场景。


5.3 Latest Crashes


显示缓存中最近发生的Crash的调用堆栈,可能为空也可能不止一个Crash堆栈, 需要自行查看是否是你关注的Crash。


使用说明


CodeCrafts的很多功能依赖Shell权限, 如果发现存在功能不可用的情况,一般都是shell权限获取失败了, 只需要通过在电脑终端输入adb命令"adb tcpip 5555"指令, CodeCrafts就可以自动获取shell权限了。


image.png


adb tcpip 5555



  1. 第一次使用,连接电脑终端发送"adb tcpip 5555" 或
  2. 手机断电重启,连接电脑终端发送"adb tcpip 5555" 或
  3. 莫名其妙功能不能用了,连接电脑终端发送"adb tcpip 5555"

新增功能


有不少人反馈对CodeCrafts的实现原理感兴趣,后面新增的功能尽量配上实现原理



  1. CodeCrafts之断点调试 (1.0.15新增)

建设中



  1. 文件沙盒, 快速浏览App的文件目录
  2. 自动化,自动化点击,输入(比如自动跳广告,自动输入账号密码?)
  3. 组件检查, 快速查看View的类型, id, 颜色等
  4. ...

后期规划



  1. 悬浮窗的tab和内容可动态配置
  2. 应用控制增加应用性能数据
  3. 提供外部SDK接口,外部应用可接入CodeCrafts进行定制化改造

CodeCrafts持续更新中...


Github地址下载,
Gitee地址下载(需要登录gitee)


或者去Google Play安装


作者:小码哥哥
链接:https://juejin.cn/post/7194736298521788472
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0 个评论

要回复文章请先登录注册