一.环境搭建

1.安装uiautomator2

在终端使用pip安装即可

pip install  uiautomator2

2.安装adb

可参考:https://www.cnblogs.com/lihongtaoya/p/14970306.html

3.安装weditor

终端执行如下命令

pip install weditor==0.6.4

4.ATX

确保以上环境都搭建好之后,运行下面代码,安卓设备会自动下载安装ATX应用

import uiautomator2 as u2
# 连接启动
d = u2.connect()
print(d.info)

二.元素定位

1.weditor使用

weditor是基于浏览器的一款ui查看器,可以在测试中帮助我们来定位所需要的元素。运行的话可以终端直接输入weditor回车即可
停止ui查看ctrl+c即可停止

2.元素定位

1.定位方法

d(resourceId="android:id/title", text="移动网络")  # 两个条件定位
# 或
d(resourceId="android:id/title")  # 一个条件定位

2.可定位的属性

我们在选中一个元素时,Selected Element下就会显示可定位的属性,场景的属性如下。

className 类名
index 下标
text 文本
textContains text中包含有指定文本的元素
textMatches text符合指定正则的元素
textStartsWith text中指定文本开头的元素
resourceId 指定内容的元素
package 包名
description 描述
checkable 可检查
clickable 可点击
enabled 可激活
focusable 是否聚焦
focused 获取聚焦的元素
scrollable 是否可滚动
longClickable 可长按
selected 当前选中

3.xpath定位

.xpath("//*[@text='设置' and @content-desc='设置,1条通知']").click()

4.相对定位

先定位到一个元素,在来定位元素周边的元素(即:左右上下)

已”显示与亮度“为坐标,来定位”通知与状态栏“和”桌面锁屏与壁纸“

d(resourceId="android:id/title", text="显示与亮度").up(text="通知与状态栏").click()  # 上
d(resourceId="android:id/title", text="显示与亮度").down(text="桌面、锁屏与壁纸").click()  # 下
# d().left()  # 左
# d().right()  # 右

一、代理设置方法

  1. 通过conda命令设置代理
    bash
    Copy Code
    conda config --set proxy_servers.http http://host:port
    conda config --set proxy_servers.https http://host:port
    其中host:port替换为您的代理服务器地址和端口‌
  2. 修改.condarc配置文件
    配置文件通常位于:

Windows: C:\Users\用户名.condarc
Linux/macOS: ~/.condarc
添加以下内容:

yaml
Copy Code
proxy_servers:
http: http://host:port
https: http://host:port
如果代理需要认证,格式为:http://username:password@host:port

二、代理设置注意事项
‌协议问题‌:如果代理服务器不支持HTTPS,应将https_proxy改为http协议‌

‌环境变量设置‌:

bash
Copy Code
export http_proxy="http://host:port"
export https_proxy="http://host:port"
在Linux/macOS中可添加到/etc/profile.d/proxy.sh‌

‌特殊字符处理‌:密码中包含@等特殊字符时需转义为%40‌

三、验证代理设置
查看当前代理配置:

bash
Copy Code
conda config --show
测试网络连接:

conda search numpy
四、取消代理设置

conda config --remove-key proxy_servers.http
conda config --remove-key proxy_servers.https
五、常见问题解决
‌代理错误‌:检查代理地址和端口是否正确,确保代理服务器正常运行‌

‌网络不可达‌:尝试更换国内镜像源,如清华、中科大等镜像站点‌

‌SSL验证问题‌:在.condarc中添加ssl_verify: true确保安全连接‌

使用Anaconda创建Python虚拟环境主要通过conda create命令实现,具体步骤包括环境创建、激活和管理,并可通过参数指定Python版本和安装路径。‌‌

‌##基础操作指南‌

‌###创建虚拟环境‌。

conda create -n your_env_name python=3.8
your_env_name为自定义环境名称,建议使用英文。
python=3.8可替换为其他版本,如3.9或3.11。‌‌

‌##激活环境‌。

conda activate your_env_name # Windows/Linux通用
激活后命令行前缀会显示环境名称,如(your_env_name)‌‌

查看所有环境‌。

conda env list
显示已创建的环境列表及存储路径‌‌

‌##进阶参数设置‌

‌##指定安装路径‌(避免C盘空间不足)。

conda create --prefix=D:\path\your_env_name python=3.10
需管理员权限运行命令提示符‌‌

预装常用包‌。

conda create -n your_env_name numpy pandas matplotlib
自动解决依赖关系‌‌

‌#常见问题处理‌

‌###环境激活失败‌。

检查环境名称拼写。
使用conda init重置终端配置。‌‌

‌##环境路径异常‌。

若默认安装到C盘,可通过--prefix参数指定其他磁盘路径‌‌

‌###权限不足问题‌。

以管理员身份运行Anaconda Prompt。
检查envs文件夹安全属性中的编辑权限。‌‌

确认删除前建议先导出环境配置‌‌

要让 vncserver 服务在 Armbian 启动时自动运行,最推荐和最现代的方法是创建一个 systemd 服务单元文件。Systemd 是大多数现代 Linux 发行版(包括 Armbian 所基于的 Debian/Ubuntu)使用的初始化系统。

以下是详细步骤:

1. 创建 VNC Systemd 服务文件

你需要为每个 VNC 用户创建一个服务文件。假设你希望 VNC 服务以用户 your_username 运行,并且在显示 :1 上。

打开终端或通过 SSH 连接到你的 Armbian 设备。

创建服务文件:
使用 sudo 和文本编辑器(如 nano)创建一个新的 systemd 服务文件。文件名通常是 vncserver@.service,其中 @ 符号表示这是一个模板服务,可以为不同的用户或显示号实例化。

Bash

sudo nano /etc/systemd/system/vncserver@.service

添加服务内容:
将以下内容粘贴到文件中。请务必将 User=your_username 替换为你实际的用户名,并将 ExecStart 和 ExecStop 中的 your_username 替换为你的用户名。

Ini, TOML

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=%i
# PIDFile=/home/%i/.vnc/%H%i.pid # 某些版本可能需要,但通常不必要

# Customize the following line to fit your needs
# For example, 1280x800 resolution and 24-bit color depth
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

User=%i: %i 是 systemd 模板服务中的一个占位符,它会在你启用服务时被替换为实例名。例如,如果你启用 vncserver@1.service,那么 %i 就会变成 1。然而,对于 VNC 服务,我们通常希望它以特定用户身份运行,所以这里我们直接指定 User=。

ExecStart: 启动 VNC 服务器的命令。

-depth 24: 设置颜色深度为 24 位。

-geometry 1280x800: 设置 VNC 会话的分辨率。你可以根据需要修改。

:%i: 这是 VNC 的显示号。当你启用服务时,例如 vncserver@1.service,%i 会被替换为 1,表示 VNC 会话将在显示 :1 上运行。

ExecStop: 停止 VNC 服务器的命令。

保存并关闭文件(在 nano 中按 Ctrl+O,回车,然后 Ctrl+X)。

2. 重载 systemd 配置

创建或修改服务文件后,需要让 systemd 重新加载其配置:

Bash

sudo systemctl daemon-reload

3. 启用并启动 VNC 服务

现在,你可以启用服务,使其在每次启动时自动运行。你需要指定 VNC 会话的显示号(例如 1)作为服务实例。

启用服务:

Bash

sudo systemctl enable vncserver@1.service

这会创建一个符号链接,确保服务在系统启动时被激活。

立即启动服务:

Bash

sudo systemctl start vncserver@1.service

4. 验证服务状态

你可以检查服务是否正在运行:

Bash

sudo systemctl status vncserver@1.service

如果一切正常,你应该会看到 Active: active (running) 的输出。

5. 注意事项

用户权限: 确保 your_username 用户已经设置了 VNC 密码 (vncserver 命令会提示你设置)。这个用户也应该有权限启动 XFCE 会话。

防火墙: 如果你的 Armbian 上启用了防火墙(如 ufw),请确保 VNC 端口(默认是 5900 + 显示号,例如 :1 对应端口 5901)是开放的。

Bash

sudo ufw allow 5901/tcp

sudo ufw enable # 如果没启用过
多用户/多会话: 如果你需要为多个用户或在不同的显示号上启动 VNC 服务,只需为每个用户/显示号重复 sudo systemctl enable vncserver@X.service 和 sudo systemctl start vncserver@X.service,其中 X 是不同的显示号。

~/.vnc/xstartup 文件: 确保你之前配置的 ~/.vnc/xstartup 文件内容正确,并且有执行权限。这个文件告诉 VNC 服务器启动哪个桌面环境(例如 startxfce4 &)。

完成这些步骤后,你的 Armbian 设备在每次启动时都应该会自动启动 VNC 服务器,你就可以从 Windows 远程连接了。

Linux 桌面环境汉字显示乱码,这确实是个常见的问题,通常是由于 缺失中文字体 或 区域设置不正确 导致的。别担心,解决起来通常不难。

1. 检查和安装中文字体

这是最主要的原因。你的系统可能没有安装足够的中文字体,导致无法正确渲染汉字。

安装常用中文字体:
你可以安装一些广泛使用的字体包,例如文泉驿系列(wqy)和思源黑体(fonts-noto-cjk)。

Bash

sudo apt update
sudo apt install fonts-wqy-zenhei fonts-wqy-microhei fonts-noto-cjk

fonts-wqy-zenhei 和 fonts-wqy-microhei 是文泉驿系列字体,非常流行。

fonts-noto-cjk 包含思源黑体,是 Google 和 Adobe 合作开发的,覆盖了中文、日文、韩文,显示效果很好。

更新字体缓存:
安装新字体后,需要更新系统的字体缓存,让应用程序能够识别它们。

Bash

sudo fc-cache -fv

fc-cache -fv 会强制重建字体缓存,并显示详细信息。

重启 XFCE 会话或系统:
为了让字体更改完全生效,最好注销当前 XFCE 会话并重新登录,或者直接重启整个系统。

Bash

sudo reboot

2. 检查和设置正确的区域(Locale)

如果字体安装正确,但仍然乱码,那可能是系统的区域设置有问题,导致它不知道要以何种编码(如 UTF-8)显示汉字。

检查当前区域设置:

Bash

locale

你应该会看到类似 LANG=zh_CN.UTF-8 或 LANG=en_US.UTF-8 但带有正确的 UTF-8 编码的输出。如果看到 C 或其他非 UTF-8 的设置,就需要修改。

生成所需的区域设置(如果缺失):
如果 locale 命令没有显示 zh_CN.UTF-8 或你需要的中文区域设置,你需要生成它。

编辑 sudo nano /etc/locale.gen 文件。

找到 zh_CN.UTF-8 UTF-8 这一行(或 zh_SG.UTF-8 UTF-8 等你需要的中文区域设置),将其前面的 # 号删除,取消注释。

保存并关闭文件。

生成区域设置:

Bash

sudo locale-gen

设置默认区域设置:
接下来,将系统默认区域设置为中文(如果这是你希望的):

Bash

sudo update-locale LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8

或者,如果你想保留英文界面但能显示中文:

Bash

sudo update-locale LANG=en_US.UTF-8 # 保持英文界面
sudo update-locale LC_CTYPE="zh_CN.UTF-8" # 确保字符类型支持中文

LANG 设置了大部分程序的默认语言环境。

LC_ALL 会覆盖所有其他 LC_* 环境变量,通常设置为与 LANG 相同,以确保一致性。

LC_CTYPE 特别控制字符分类和大小写转换,对于正确显示多字节字符(如汉字)很重要。

重启系统:
区域设置的更改需要系统重启才能完全生效。

Bash

sudo reboot

3. 检查应用程序特定设置

少数情况下,某些应用程序可能有自己的字体或编码设置,独立于系统。

终端模拟器: 如果只有终端显示乱码,进入终端的偏好设置(通常是右键菜单或菜单栏),检查字体设置是否为中文字体,以及编码是否为 UTF-8。

Web 浏览器: 现代浏览器通常能很好地处理编码,但如果遇到特定网页乱码,可以尝试检查浏览器的编码设置(通常在“查看”或“更多工具”菜单下)。

总结

通常情况下,安装中文字体并更新字体缓存就能解决绝大部分乱码问题。如果不行,再检查和调整区域设置。

一步一步来,通常就能解决问题。