【问题标题】:appium-uiautomator2-server-v0.1.8.apk' exited with code 1" while getting badging infoappium-uiautomator2-server-v0.1.8.apk' 以代码 1 退出,同时获取徽章信息
【发布时间】:2018-06-08 06:07:26
【问题描述】:

我正在尝试使用文档中给出的说明学习 Appium:

http://appium.io/docs/en/about-appium/getting-started/?lang=en

我已将此代码放入名为 AppiumTest.js 的文件中

const wdio = require('webdriverio');

const opts = {
  port: 4723,
  desiredCapabilities: {
    platformName: "Android",
    platformVersion: "8.0",
    deviceName: "Pixel_API_26",
    app: "C:/Users/SStaple/AppData/Local/Android/Sdk/ApiDemos-debug.apk",
    automationName: "UiAutomator2"
  }
};

const client = wdio.remote(opts);

client
  .init()
  .click("~App")
  .click("~Alert Dialogs")
  .back()
  .back()
  .end();

在启动 Appium 服务器后,我从 Node.js 命令提示符运行它,使用命令:node AppiumTest.js。还需要运行 Android 8 模拟器。

(Appium 服务器 v1.7.1)

我在 Appium Server 窗口中得到一个输出。有许多错误。显示的第一个错误是这样的:

Error "Command 'C\:\\Users\\SStaple\\AppData\\Local\\Android\\Sdk\\build-tools\\26.0.2\\aapt.exe d badging C\:\\Users\\SStaple\\AppData\\Local\\Programs\\appium-desktop\\resources\\app\\node_modules\\appium\\node_modules\\appium-uiautomator2-driver\\uiautomator2\\appium-uiautomator2-server-v0.1.8.apk' exited with code 1" while getting badging info

我已尝试在命令提示符中自行运行此命令:

C:\Users\SStaple\AppData\Local\Android\Sdk\build-tools\26.0.2\aapt.exe d badging C:\Users\SStaple\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-uiautomator2-driver\uiautomator2\appium-uiautomator2-server-v0.1.8.apk

我在这里得到的结果是这样的:

W/zipro   (13656): Error opening archive C:\Users\SStaple\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-uiautomator2-driver\uiautomator2\appium-uiautomator2-server-v0.1.8.apk: Invalid file
ERROR: dump failed because no AndroidManifest.xml found

有什么想法吗?

28/12/2017 更新 - 我找到了解决方案!

有问题的文件看起来很可疑。它的大小为 0Kb! 我从https://github.com/appium/appium-uiautomator2-server/releases 下载了apk 文件并使用了它。 这个大小为 1,518 KB。 (显然在安装 beta 时 npm 没有将该 apk 文件放入正确的位置存在一些问题。)

解决了这个问题,我可以继续下一个问题了!

【问题讨论】:

  • 您正在尝试使用哪个 appium 版本?
  • @Manidroid 我已经编辑了我的问题。

标签: javascript node.js appium


【解决方案1】:

它是带有 apk 签名的 known issue。

您可以从尝试更新依赖项开始:

npm install appium-uiautomator2-driver
npm install appium-adb

如果没有帮助,您可以尝试更多方法(但那是针对 Linux):

修改 ./node-v6.11.4-linux-armv7l/lib/node_modules/appium/node_modules/appium-adb/build/lib/tools/apk-signing.js 所以即使看起来没有签名也会返回 true。

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

【讨论】:

  • 我都试过了。我也编辑了 C:\AppiumTesting\node_modules\appium-adb\build\lib\tools\apk-signing.js。它没有任何区别。第一个错误仍然相同:错误“Command 'C\:\\Users\\SStaple\\AppData\\Local\\Android\\Sdk\\build-tools\\26.0.2\\aapt.exe d badging C \:\\Users\\SStaple\\AppData\\Local\\Programs\\appium-desktop\\resources\\app\\node_modules\\appium\\node_modules\\appium-uiautomator2-driver\\uiautomator2\\appium -uiautomator2-server-v0.1.8.apk' 在获取徽章信息时以代码 1 退出
  • dmle - 我已经检查了您的“已知问题”,但我没有看到相似之处?这里没有提到“徽章”!!!
猜你喜欢
  • 2021-05-01
  • 1970-01-01
  • 2019-10-15
  • 2017-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 2023-03-09
相关资源
最近更新 更多