Android Studio使用
环境变量
JDK环境安装
找到变量为 Path 的,双击打开
SDK环境安装配置
配置 ANDROID_SDK_ROOT 环境变量
打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建,创建一个名为ANDROID_SDK_ROOT的环境变量(系统或用户变量均可),指向你的 Android SDK 所在的目录(具体的路径可能和下图不一致,请自行确认):
SDK 默认是安装在下面的目录:
|
|
你可以在 Android Studio 的"Preferences"菜单中查看 SDK 的真实路径,具体是Appearance & Behavior → System Settings → Android SDK。
ANDROID_HOME(已弃用但兼容)
- 作用:旧版 SDK 路径变量,仍被许多第三方工具(如 React Native、Flutter)使用
- 建议:与 ANDROID_SDK_ROOT 设置为相同路径,确保兼容性
Q: ANDROID_HOME 和 ANDROID_SDK_ROOT 冲突?
A: 设置相同值即可,大部分工具会优先读取 ANDROID_SDK_ROOT
把工具目录添加到环境变量 Path
打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量,选中Path变量,然后点击编辑。点击新建然后把以下工具目录路径添加进去:platform-tools
|
|
Path 变量补充说明
需要将 SDK 工具目录添加到系统 Path:
- platform-tools (必需)
- 路径:%ANDROID_SDK_ROOT%\platform-tools
- 用途:adb、fastboot 等命令
- cmdline-tools (推荐)
- 路径:%ANDROID_SDK_ROOT%\cmdline-tools\latest\bin
- 用途:avdmanager、sdkmanager 等命令行工具
- build-tools (按需)
- 路径:%ANDROID_SDK_ROOT%\build-tools\34.0.0(具体版本号)
- 用途:aapt、dx 等构建工具
Gradle依赖库环境配置
|
|
uiautomatorviewer插件
使用命令手动获取界面信息,绕过 UI Automator Viewer 的图形界面截屏,直接从系统底层获取数据,可以有效避免焦点切换。
准备
问题:遇到的 uiautomatorviewer.bat 窗口一闪而过就关闭的问题,根本原因在于你项目使用的 JDK 与 uiautomatorviewer 这个较老的工具存在兼容性问题。
解决方案:直接修改 bat 文件,为其指定一个兼容的 JDK 8 路径,一劳永逸,不影响项目的 JDK 环境。
这个方法直接针对脚本本身进行修复,不影响你项目本身的 JDK 配置。
1.找到文件:定位到你的 Android SDK 目录下的 tools\bin\uiautomatorviewer.bat 文件。
2.编辑文件:右键点击该文件,选择“编辑”或用记事本等文本编辑器打开。
3.修改JDK路径:
- 在文件中找到类似 set java_exe=的代码行。
- 在这行代码的后面,手动添加你本地安装的 JDK 8 的 java.exe 的完整路径。例如:
|
|
然后,为了确保系统使用你指定的路径,建议将下一行可能存在的 call ..\lib\find_java.bat 用 rem 注释掉,修改后为:
|
|
4.保存并运行:保存对 bat 文件的修改,然后再次双击运行它。
使用
步骤一:确认设备连接
需要在
环境变量 Path中添加%ANDROID_SDK_ROOT%\tools,才能使用adb命令
确认你的虚拟机或真机已被正确列出且状态为 device,而不是 unauthorized或 offline
|
|
重置 ADB 连接:有时候 ADB 服务会出现小故障。可以尝试运行以下命令来重启它
|
|
步骤二:获取界面布局文件
在命令行中执行以下命令,将当前界面的 UI 层次结构文件从设备拉到电脑上(请将 E:/pull123/替换为你自己想保存的路径):
|
|
步骤三:截取屏幕图片
接着,截取一张屏幕截图并拉到电脑上:
|
|
步骤四:在 UI Automator Viewer 中打开
功能说明
- 图标1:打开本地保存的View树文件
- 图标2:获取/刷新当前屏幕的详细控件层次结构
- 图标3:获取当前屏幕的压缩View树信息
- 图标4:将当前控件层次结构保存为文件(可通过图标1重新加载)
当你单击一个控件后,就会显示出来控件的详细信息,或者单击右侧的 View 树展示区,也会在屏幕显示相应的控件。
在右下侧的详细信息中我们重点关注三个栏目:
- resource-id:对应于布局文件中的id属性,比如显示的 org.codeaurora.snapcam:id/mode_text,展示信息的规则是:packageName:id/xxx!
- class:表示控件对象使用哪个类创建,选中的控件类型是 android.widget.TextView,就是这个控件的实际类型。
- package:表示控件所在应用的包名,选中控件是相机上的一个控件,所以package值是org.codeaurora.snapcam,这个就是表示相机app的包名。