la 是 LinkAndroid 内置的 Python 自动化库,基于 uiautomator2 封装。本文档提供常用 API 快速查阅,完整的接口说明请参见编辑器中的文档面板。
快速开始模板
import la
# 获取设备(推荐方式)
device = la.device()
# 设备信息
print("设备: " + device.serial())
print(f"屏幕: {device.width()}x{device.height()}")
# 常用操作
device.home() # 返回桌面
device.appStart("com.android.settings") # 打开设置
la.sleep(2) # 等待 2 秒
device.screenshot("settings.png") # 截屏
连接管理
| API |
说明 |
la.connect(addr) |
连接到指定地址的设备 |
la.device() |
获取单设备代理(推荐) |
la.devices() |
获取所有运行设备的集合 |
屏幕操作
| API |
说明 |
device.click(x, y) |
点击屏幕坐标 (x, y) |
device.click(text) |
点击包含指定文本的控件 |
device.doubleClick(x, y) |
双击坐标位置 |
device.longClick(x, y) |
长按坐标位置 |
device.swipe(x1, y1, x2, y2) |
从 (x1,y1) 滑动到 (x2,y2) |
device.swipeExt(direction) |
向指定方向滑动(left/right/up/down) |
device.drag(x1, y1, x2, y2) |
拖拽操作 |
device.pinchIn(percent, steps) |
缩放手势(向内) |
device.pinchOut(percent, steps) |
缩放手势(向外) |
文本输入
| API |
说明 |
device.sendKeys(text) |
输入文本内容 |
device.clearText() |
清除输入框文本 |
device.setText(text) |
设置输入框文本(先清空再输入) |
device.press(key) |
按下按键(home/back/recent/enter 等) |
控件查找与操作
| API |
说明 |
device(text="xxx") |
按文本查找控件 |
device(resourceId="xxx") |
按 resource-id 查找控件 |
device(className="xxx") |
按类名查找控件 |
device(description="xxx") |
按 content-desc 查找控件 |
.click() |
点击查找到的控件 |
.get_text() |
获取控件文本 |
.exists |
判断控件是否存在 |
.wait(timeout) |
等待控件出现 |
.sibling() |
获取兄弟控件 |
.child() |
获取子控件 |
.parent() |
获取父控件 |
应用管理
| API |
说明 |
device.appStart(package) |
启动应用 |
device.appStop(package) |
停止应用 |
device.appClear(package) |
清除应用数据 |
device.appInstall(path) |
安装 APK |
device.appUninstall(package) |
卸载应用 |
device.appList() |
列出已安装应用 |
device.appCurrent() |
获取当前前台应用 |
设备信息
| API |
说明 |
device.serial() |
获取设备序列号 |
device.width() |
获取屏幕宽度(像素) |
device.height() |
获取屏幕高度(像素) |
device.info |
获取设备详细信息(字典) |
device.battery() |
获取电池电量百分比 |
device.brightness() |
获取屏幕亮度 |
截屏与录屏
| API |
说明 |
device.screenshot(path) |
截屏并保存到文件 |
device.screenshot() |
截屏返回 PIL Image 对象 |
device.startScreenRecord(path) |
开始录屏 |
device.stopScreenRecord() |
停止录屏 |
等待与条件
| API |
说明 |
la.sleep(seconds) |
等待指定秒数 |
device.wait(timeout) |
等待界面稳定 |
device(text="xxx").wait(timeout) |
等待指定控件出现 |
日志与调试
import la
la.log("这是一条日志")
print("输出到控制台")
多设备操作
import la
# 获取所有设备
devices = la.devices()
print(f"设备数量: {len(devices)}")
# 遍历操作
for device in devices:
device.home()
la.sleep(1)
环境变量
| 变量 |
说明 |
LINKANDROID_DEVICE_ID |
当前设备 ID |
LINKANDROID_DEVICE_IDS |
所有设备 ID 列表 |
LINKANDROID_ADB_PATH |
ADB 可执行文件路径 |
LINKANDROID_TASK_ID |
当前任务 ID |
LINKANDROID_TASK_NAME |
当前任务名称 |