You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Appium中使用pushFile()传输文件后重命名文件?

解决Appium pushFile后文件重命名问题

方法1:执行adb shell重命名命令

在完成pushFile操作后,通过Appium调用设备shell的mv命令直接重命名文件:

Java示例

driver.executeScript("mobile: shell", ImmutableMap.of(
    "command", "mv",
    "args", new String[]{"/sdcard/Appium.tmp", "/sdcard/my_malicious_app.apk"}
));

Python示例

driver.execute_script('mobile: shell', {
    'command': 'mv',
    'args': ['/sdcard/Appium.tmp', '/sdcard/my_malicious_app.apk']
})

该操作通过Android系统原生的移动命令完成重命名,前提是你对/sdcard目录拥有写入权限。

方法2:直接指定push目标路径(跳过临时文件)

更高效的方式是在pushFile时直接指定完整的目标文件路径,避免生成Appium.tmp临时文件:

Java示例

byte[] apkBytes = Files.readAllBytes(Paths.get("本地路径/my_malicious_app.apk"));
driver.pushFile("/sdcard/my_malicious_app.apk", apkBytes);

Python示例

with open("本地路径/my_malicious_app.apk", "rb") as apk_file:
    apk_data = apk_file.read()
driver.push_file("/sdcard/my_malicious_app.apk", apk_data)

注意事项

  • 确认设备/sdcard目录具备读写权限;Android 10及以上设备受Scoped Storage限制,若遇到权限问题,可将文件推送到应用私有存储目录(如/data/data/[你的应用包名]/files/)。

内容的提问来源于stack exchange,提问作者user3780373

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 02:17:35