AndroidStudio无法查看Compose重组次数?

一、前言

为什么写这一篇文章呢?

1、本月的创作者训练营活动奖品比较诱人且是积分制的,决定来薅一薅😁

2、印象中是一开始使用AndroidStudio LayoutInspector想查看Compose重组次数的时候,一开始折腾了下后来忘了这茬事了,最近🪜到期了,家里又换了台新的mac mini又看到这个问题😊,就想着给大家整理了一下解决方法,有需要的可以收藏❤️一下。

二、排查并解决问题

1、首先我们简单创建一个Hello World工程

创建完成之后,直接运行起来,尝试通过LayoutInspector工具查看重组次数。

然而发现出现下面这个错误 (如果有🪜这都不是问题😊),看提示是:

无法下载 androidx.compose.ui:ui-android:1.5.0-beta03

请指定:-Dappinspection.use.dev.jar=true 设置到VM Options配置文件中,继续往下看

2 、配置VM Options

根据上面的提示我们操作路径:Help -> Edit Custom VM Options... 配置文件,将属性配置到此文件中

studio.vmoptions 复制代码
-Dappinspection.use.dev.jar=true

然后我们重启一下AndroidStudio重新运行一下试试。

3 、提示无法找到 compose-ui-inspection.jar文件

上面的截图告诉我们/Applications/AndroidStudio.app/Contents/plugins/android/resources/目录下面找不到compose-ui-inspection.jar包文件。

一开始推这个的时候,没有提示这么明确😊

Windows电脑请打开你安装AndroidStudio的目录

我们打开之后发现确实没有找到compose-ui-inspection.jar包

别急,我们回到第一点,上面一开始提示:

无法下载 androidx.compose.ui:ui-android:1.5.0-beta03

为什么要给我这个提示,是有何深意🤔?

搜索查看谷歌提交代码的记录发现这条历史

👉🏻点击查看提交记录

我们看看工程依赖的ui库能不能找到,查看一下我们的jar包,我们需要先切换到Project目录:

然后,我们需要点击 External Libraries ,然后搜索查找:androidx.compose.ui:ui-android:1.5.0-beta03


请手动点击图片放大查看

找到了这个jar包,我们点击右键,查看jar在本地的位置:

打开路径,查找compose-ui-inspection.jar文件

Mac电脑上:

点击Finder选项之后,打开classes.jar的目录之后,需要返回上一级页面

Windows电脑上:

我们需要返回上一级路径

那么我们把它移动到/Applications/AndroidStudio.app/Contents/plugins/android/resources/目录下面,并重命名 为:compose-ui-inspection.jar

复制到/Applications/AndroidStudio.app/Contents/plugins/android/resources/目录下面之后,我们重新运行一下程序,查看效果,然而我们发现还是不行

出现这个错误,我们可以打开:开发者选项-启用视图属性检查功能

点击开启之后,我们再运行一下,查看效果,发现成功了,这下可以好好的玩耍了:

相关推荐
你过来啊你44 分钟前
Android Glide使用与底层机制详解
android
血舞之境1 小时前
Android 模块打包成aar遇到的空指针的问题
android
嘉小华1 小时前
Android 协程全景式深度解析:第四章 Flow响应式流
android·前端
用户1982333188401 小时前
让PAG动画在富文本中动起来
android·kotlin
嘉小华1 小时前
Android 协程全景式深度解析:第五章 协程与Android整合
android
软***c1 小时前
手机恢复出厂设置怎么找回数据?Aiseesoft FoneLab for Android数据恢复工具分享
android·智能手机·安卓手机恢复数据·手机格式化找回数据
沙振宇1 小时前
【Qt 学习之路】Qt Android开发环境搭建:Ubuntu的Vmware虚拟机中的踩坑实录
android·qt·学习
苏金标2 小时前
android 的软件盘
android
wkj0013 小时前
php中调用对象的方法可以使用array($object, ‘methodName‘)?
android·开发语言·php
wkj0013 小时前
php use 命名空间与 spl_autoload_register的关系
android·php·android studio