无法从Appium Desktop应用程序启动应用程序。在apksigner执行期间出错

问题描述 投票:1回答:1

处理命令时发生未知的服务器端错误。原始错误:无法使用默认证书进行签名。原始错误产生ENOTDIR

我正在尝试使用Appium Desktop应用程序启动Android应用程序。 Appium服务器显示以下错误日志;

启动“/home/santoshpc/Android/Sdk/build-tools/28.0.3/apksigner与ARGS [ “签到”, “ - 关键”,“/ tmp目录/ .mount_AppiumGDrtg1 /资源/应用/ node_modules /阿皮亚/ node_modules /阿皮亚-ADB /按键/ testkey.pk8 “” - “肯定” 的/ tmp / .mount_AppiumGDrtg1 /资源/应用/ node_modules / Appiae / node_modules /阿皮亚-ADB /按键/ testkey.x509.pem “” /tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-uiautomator2-server/apks/appium-uiautomator2-server-debug-androidTest.apk“] [ADB]得到执行apksigner过程中发生错误:命令' /home/santoshpc/Android/Sdk/build-tools/28.0.3/apksigner签署--key /tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-adb/keys/testkey.pk8 --cert /tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-adb/keys/testkey.x509.pem /tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-uiautomator2-server/apks /appium-uiautomator2-server-debug-androidTest.apk“与代码退出1 [ADB] apksigner stder R:异常线程 “main” java.nio.file.FileSystemException:/tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-uiautomator2-server/apks/appium-uiautomator2-server-debug-androidTest。 APK,只读文件系统[ADB]在sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)[ADB]在sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)[ADB]但sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)[ADB]在sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:447)[ADB]在sun.nio.fs.UnixFileSystemProvider.move (UnixFileSystemProvider.java:262)[ADB]在java.nio.file.Files.move(Files.java:1395)[ADB]在com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:342)[ADB]但com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89)[ADB] [ADB]不能用于签名使用apksigner工具。默认为sign.jar。原来的错误:命令“/home/santoshpc/Android/Sdk/build-tools/28.0.3/apksigner签署--key /tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-adb/keys/testkey .pk8 --cert /tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-adb/keys/testkey.x509.pem /tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium- uiautomator2服务器/的apk /阿皮亚-uiautomator2 - 服务器 - 调试androidTest.apk“退出,代码1;标准错误:异常线程 “main” java.nio.file.FileSystemException:/tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-uiautomator2-server/apks/appium-uiautomator2-server-debug-androidTest。 APK,只读文件系统[ADB]在sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)[ADB]在sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)[ADB]但sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)[ADB]在sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:447)[ADB]在sun.nio.fs.UnixFileSystemProvider.move (UnixFileSystemProvider.java:262)[ADB]在java.nio.file.Files.move(Files.java:1395)[ADB]在com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:342)[ADB]但com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89)[ADB] [ADB]辞职APK。 [UiAutomator2]删除UiAutomator2会议[UiAutomator2]删除UiAutomator2服务器会话[WD代理]匹配 '/' 命令名deleteSession“[UiAutomator2]没有得到确认UiAutomator2 deleteSession工作;错误:不明错误:在处理命令时出现未知的服务器端错误。原始错误:从会话,而[ADB]运行“/家庭/ santoshpc /安卓/ SDK /平台工具/亚行外壳上午-p 5037 -s 0123456789ABCDEF力停止eu.niko.smart.naswi尝试代理服务器会话命令。主[logcat的]停止logcat的捕获[ADB]删除转发端口的套接字连接:8200 [ADB]运行“/家庭/ santoshpc /安卓/ SDK /平台工具/ ADB -p 5037 -s 0123456789ABCDEF向前--remove TCP:8200 “[UiAutomator2]无法向前移除端口,”错误执行adbExec。原来的错误: '命令'/家/ santoshpc /安卓/ SDK /平台工具/ -s 0123456789ABCDEF向前--remove TCP ADB-P 5037:8200 '与代码1退出';标准错误,“错误:监听TCP:8200 '未找到';编码: '1' '[BaseDriver]事件' newSessionStarted记录在1552282079530(十一点12分59秒GMT + 0545(0545))[MJSONWP]运行命令时遇到的内部错误:错误:无法使用默认证书签名。原始错误产卵ENOTDIR [MJSONWP]在ADB.apkSigningMethods.signWithDefaultCert(/tmp/.mount_AppiumGDrtg1/resources/app/node_modules/appium/node_modules/appium-adb/lib/tools/apk-signing.js:124:13)[HTTP ] < - 发布/ WD /集线器/ MS会话500 9847 - 206 [HTTP] [HTTP] - >删除/ WD /集线器/会话[HTTP] {} [HTTP]否路线找到。设定内容类型设置为 “文本/纯”[HTTP] < - 删除/ WD /集线器/ MS会话404 5 - 57

我添加了以下DesiredCapabilities

{
  "noReset": true,
  "automationName": "uiautomator2",
  "appPackage": "myapp package name",
  "appActivity": "my app activity name",
  "deviceName": "My device",
  "platformName": "android"
}

Appium桌面版本1.11.1操作系统 - Ubuntu的

automation appium appium-android
1个回答
0
投票

这是位于/usr/lib/node_modules/appium/node_modules/appium-adb/build/lib/tools位置的“apk-signing.js”文件中的错误。

可能的解决方案:

  1. 它可以是许可问题。 appium在没有root权限的情况下执行,因此无法对apk进行更改。使用root / admin权限执行appium可以解决问题。 (仅当apk-signing.js没有bug时才有效)
  2. 它适用于特定的appium版本,因为它们没有像appium版本1.7.2那样的无bug apk-signing.js

如果2以上不起作用,这是最终解决方案。你必须修改文件apk-signing.js

./node-v6.11.4-linux-armv7l/lib/node_modules/appium/node_modules/appium-adb/build/lib/tools/apk-signing.js

因此即使看起来没有签名也会返回true。编辑文件如下所述。

287 case 20:
288 context$1$0.prev = 20;
289 context$1$0.t0 = context$1$0’catch’;
290
291 _loggerJs2[‘default’].debug(“App not signed with debug cert.”);
292 return context$1$0.abrupt(‘return’, true);

请查看此链接以编辑文件以获取更多详细信息。

https://discuss.appium.io/t/appium-1-7-1-canot-singin-appium-uiautomator2-server-debug-androidtest-apk/19233/4

希望它会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.