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

CodeLocator登场

CodeLocator 是字节跳动开源的一个包含 Android SDK 与 Android Studio 插件的 Android 工具集。个人使用之后感觉是安卓开发人员的利器,推荐给大家。(mac、windows都可以用)

CodeLocator的丰富功能可以让安卓应用人员受益,下面这个GIF展示了一些CodeLocator的功能。

快速上手

  1. 在Android Studio中安装CodeLocator插件(点此下载最新版插件)
  2. 工程中集成CodeLocator
gradle 复制代码
// 集成基础能力, 只需要添加一行依赖即可
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界面功能

当抓取了app当前的界面之后,直接可以在界面上点击,然后查看一些组件尺寸和间距的情况。这里在界面上有几种点击模式:

  • 直接单击: 会按照可点击属性查找View, 上层可点击View会覆盖底部View。
  • control(Alt) + 单击: 会去查看view的深度,z轴的情况。
  • Shift + 单击: 多选View, 同时可对比最后选中的两个View的间距,大家在安卓XML开发的时候,在真机测试下,这里的间距和尺寸观察就十分有用了。

实时修改ui

在界面上,点击view组件之后,可以直接右键选择修改属性,当然这里选中view之后右键还有很多好用的功能。

直接修改view组件的属性: 字符内容、字体大小、颜色、可见性、内外边距等等
CodeLocator还有复制窗口功能,复制窗口之后还有diff模式,比对ui的差别。

追溯抓取历史

CodeLocator抓取历史最多可以有三十条,其中每一条数据都带有时间和缩略图浏览。你可以在显示历史抓取功能里选择之前抓取的界面,然后对比属性。这里还可以直接保存抓取数据,文件会以projectName_XXXX_XXXX.codeLocator保存,之后想要使用便可以加载。

跳转界面对应的activity和fragment

CodeLocator可以在界面上,根据你抓取的界面和view组件,来判断它是在哪个activity、fragment和对应的XML组件名,并且直接选择跳转。

一些项目上,想快速知道这个页面到底归属哪个activity、fragment或者XML组件的时候,这个功能的优越性就体现出来了。

快速启动charles

一键启动charles,并且在Android Studio随开随关,不需要你去手机上专门开启和关闭代理

  • 开启
  • 关闭

上图工具箱中的集成功能也很丰富,也是在Android Studio随开随关。

工具箱

值得一提的是工具箱中的集成功能也很丰富,也是随开随关。


集成lanct有的功能

如果CodeLocator集成了lancet相关依赖和插件之后,可以有更强大的代码跳转能力:

  • 跳转findViewById
  • 跳转clickListener
  • 跳转touchListener
  • 跳转XML
  • 跳转viewHolder
  • 跳转startActivity
  • 跳转相应的dialog、toast
相关推荐
游戏开发爱好者840 分钟前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
王码码20351 小时前
Flutter for OpenHarmony 实战之基础组件:第三十一篇 Chip 系列组件 — 灵活的标签化交互
android·flutter·交互·harmonyos
黑码哥1 小时前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
亓才孓1 小时前
[JDBC]元数据
android
独行soc1 小时前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
金融RPA机器人丨实在智能2 小时前
Android Studio开发App项目进入AI深水区:实在智能Agent引领无代码交互革命
android·人工智能·ai·android studio
科技块儿2 小时前
利用IP查询在智慧城市交通信号系统中的应用探索
android·tcp/ip·智慧城市
独行soc2 小时前
2026年渗透测试面试题总结-18(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
王码码20353 小时前
Flutter for OpenHarmony 实战之基础组件:第二十七篇 BottomSheet — 动态底部弹窗与底部栏菜单
android·flutter·harmonyos
2501_915106323 小时前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview