CodeLocator登场

CodeLocator 是字节跳动开源的一个包括 Android SDK 与 Android Studio 插件的 Android 东西集。个人运用之后感觉是安卓开发人员的利器,推荐给我们。(mac、windows都能够用)

CodeLocator的丰厚功用能够让安卓运用人员受益,下面这个GIF展现了一些CodeLocator的功用。

CodeLocator转存失败,主张直接上传图片文件
  • 官方介绍和repo地址在这儿

快速上手

  1. 在Android Studio中安装CodeLocator插件(点此下载最新版插件)
  2. 工程中集成CodeLocator
// 集成根底才能, 只需求添加一行依靠即可
dependencies {
    // 依靠androidx, 已晋级AndroidX的项目集成下面的依靠
    implementation "com.bytedance.tools.codelocator:codelocator-core:2.0.3"
    // 未晋级AndroidX的项目集成下面的依靠 support版别不再保护 请晋级androidx
    implementation "com.bytedance.tools.codelocator:codelocator-core-support:2.0.0"
}
  • 目前官网描述的代码跳转的才能,需求集成Lancet,但是Lancet的引进有关于Gradle 版别AGP 版别的要求

集成Lancet 插件和依靠的项目,关于Gradle 版别AGP 版别不能适配超越7.2,不主张高版别去适配,现已帮我们踩了许多坑了

还有一坑就是,CodeLocatorcompose支持不是友爱

当工程的依靠和Android Studio的插件都到位之后,便能够发动开发app,然后运用抓取功用和调试开发。

运用功用和场景

这儿我讲述下自己在运用CodeLocator的一些场景。

UI相关功用

UI界面功用

字节开源安卓开发利器-CodeLocator

当抓取了app当前的界面之后,直接能够在界面上点击,然后查看一些组件尺寸和距离的状况。这儿在界面上有几种点击形式:

  • 直接单击: 会依照可点击特点查找View, 上层可点击View会覆盖底部View。
  • control(Alt) + 单击: 会去查看view的深度,z轴的状况。
  • Shift + 单击: 多选View, 同时可比照最后选中的两个View的距离,我们在安卓XML开发的时分,在真机测验下,这儿的距离和尺寸观察就非常有用了。

实时修正ui

在界面上,点击view组件之后,能够直接右键挑选修正特点,当然这儿选中view之后右键还有许多好用的功用。

字节开源安卓开发利器-CodeLocator

直接修正view组件的特点: 字符内容、字体大小、色彩、可见性、内外边距等等

字节开源安卓开发利器-CodeLocator

CodeLocator还有仿制窗口功用,仿制窗口之后还有diff形式,比对ui的不同。

追溯抓取历史

CodeLocator抓取历史最多能够有三十条,其中每一条数据都带有时间和缩略图阅读。你能够在显现历史抓取功用里挑选之前抓取的界面,然后比照特点。这儿还能够直接保存抓取数据,文件会以projectName_XXXX_XXXX.codeLocator保存,之后想要运用便能够加载。

跳转界面对应的activity和fragment

CodeLocator能够在界面上,依据你抓取的界面和view组件,来判别它是在哪个activity、fragment和对应的XML组件名,并且直接挑选跳转。

一些项目上,想快速知道这个页面究竟归属哪个activity、fragment或许XML组件的时分,这个功用的优越性就体现出来了。

字节开源安卓开发利器-CodeLocator

快速发动charles

一键发动charles,并且在Android Studio随开随关,不需求你去手机上专门敞开和封闭署理

  • 敞开
字节开源安卓开发利器-CodeLocator
  • 封闭
字节开源安卓开发利器-CodeLocator

上图东西箱中的集成功用也很丰厚,也是在Android Studio随开随关。

东西箱

值得一提的是东西箱中的集成功用也很丰厚,也是随开随关。


集成lanct有的功用

如果CodeLocator集成了lancet相关依靠和插件之后,能够有更强壮的代码跳转才能:

  • 跳转findViewById
  • 跳转clickListener
  • 跳转touchListener
  • 跳转XML
  • 跳转viewHolder
  • 跳转startActivity
  • 跳转相应的dialog、toast