在真实Android设备运行Appium脚本时遭遇500错误求助
问题:Appium运行Android脚本时出现500错误(zipAlignApk失败)
在Galaxy S21 5G(UDID:R5CRA1VFJAE)真机上运行以下Appium Java脚本时,抛出SessionNotCreatedException,响应码500,核心错误为zipAlignApk失败,无法打开uiautomator2-server的APK文件作为zip归档。
运行的脚本代码
import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.URL; public class hyerTest1 { static AndroidDriver driver; public static void main(String[] args) throws Exception { // Set desired capabilities for the Android device and the app to be tested DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability("platformName", "Android"); cap.setCapability("automationName", "UiAutomator2"); cap.setCapability("udid", "R5CRA1VFJAE"); // Device ID of the Android device cap.setCapability("deviceName", "galaxy S21 5G"); // Name of the Android device cap.setCapability("appPackage", "io.appium.android.apis"); // Package name of the app cap.setCapability("appActivity", "io.appium.android.apis.ApiDemos"); // Activity name of the app cap.setCapability("noReset","True"); // Specify the URL of the Appium server URL url = new URL("http://127.0.0.1:4723/wd/hub/"); // Initialize the AndroidDriver with the specified capabilities and URL driver = new AndroidDriver(url, cap); // Print message to indicate that the application has started System.out.println("Application started!!!"); } }
报错信息
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: zipAlignApk failed. Original error: Command ''C:\Users\Safiqur Rahman\AppData\Local\Android\Sdk\build-tools\35.0.0-rc3\zipalign.exe' -f 4 'C:\Users\Safiqur Rahman\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v1.18.0.apk' C:\Users\SAFIQU~1\AppData\Local\Temp\2024328-9312-mpnq88.qs6m\appium.tmp' exited with code 1. Stdout: ''; Stderr: 'Unable to open 'C:\Users\Safiqur Rahman\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v1.18.0.apk' as zip archive: No error'
解决方法
- 检查uiautomator2-server APK完整性:定位到报错中的APK路径
C:\Users\Safiqur Rahman\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v1.18.0.apk,确认文件存在且未损坏。尝试用解压软件打开该APK,若无法打开则说明文件损坏,需重新安装Appium或单独更新appium-uiautomator2-server依赖包。 - 更换稳定版Android Build Tools:当前使用的35.0.0-rc3是候选版本,存在兼容性问题。打开Android SDK Manager,卸载该版本,安装34.0.0或33.0.2等稳定版,确保系统环境变量或Appium配置指向正确的Build Tools路径。
- 清理Appium临时文件:删除
C:\Users\SAFIQU~1\AppData\Local\Temp目录下的Appium相关临时文件,避免旧文件干扰会话创建。 - 重新安装Appium:若上述方法无效,卸载当前Appium,从官方渠道下载稳定版重新安装,确保安装过程网络稳定,避免依赖包下载不完整。
- 检查目录权限:确保当前用户对APK所在目录和临时目录拥有读写权限,防止因权限不足导致文件无法读取或写入。
内容的提问来源于stack exchange,提问作者Safiqur Rahman
相关产品推荐
相关产品推荐

