zoukankan      html  css  js  c++  java
  • 【已解决】mac上appium报错:“Could not find aapt Please set the ANDROID_HOME environment variable with the Android SDK root directory path”

    按照网上教程配置完appium环境后,真机跑自动化过程,遇到如下报错:

    appium报错如下:

    [ADB] Checking whether aapt is present
    [ADB] The ANDROID_HOME environment variable is not set to the Android SDK root directory path. ANDROID_HOME is required for compatibility with SDK 23+. Checking along PATH for aapt.
    
    [ADB] Error: Could not find aapt Please set the ANDROID_HOME environment variable with the Android SDK root directory path.
        at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
        at ADB.callee$0$0$ (lib/tools/system-calls.js:85:9)
        at tryCatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
        at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
        at GeneratorFunctionPrototype.prototype.(anonymous function) [as throw] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
        at GeneratorFunctionPrototype.invoke (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
        at run (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js:104:47)
        at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js:115:28
        at flush (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/$.microtask.js:19:5)
        at _combinedTickCallback (internal/process/next_tick.js:67:7)
        at process._tickCallback (internal/process/next_tick.js:98:9)
     [Error: Could not find aapt Please set the ANDROID_HOME environment variable with the Android SDK root directory path.]
     
    

    首先,使用appium-doctor进行配置检查

    appium-doctor校验结果,ANDROID_HOME等路径均已经配置:

    Last login: Fri Jul  6 23:41:56 on ttys002
    '/Applications/Appium.app/Contents/Resources/node/bin/node' '/Applications/Appium.app/Contents/Resources/node_modules/appium-doctor/appium-doctor.js'
    ➜  ~ '/Applications/Appium.app/Contents/Resources/node/bin/node' '/Applications/Appium.app/Contents/Resources/node_modules/appium-doctor/appium-doctor.js'
    info AppiumDoctor ### Diagnostic starting ###
    info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
    info AppiumDoctor  ✔ Xcode Command Line Tools are installed.
    info AppiumDoctor  ✔ DevToolsSecurity is enabled.
    info AppiumDoctor  ✔ The Authorization DB is set up properly.
    info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
    info AppiumDoctor  ✔ HOME is set to: /Users/uc
    info AppiumDoctor  ✔ ANDROID_HOME is set to: /Users/uc/Library/Android/sdk4eclipse
    info AppiumDoctor  ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
    info AppiumDoctor  ✔ adb exists at: /Users/uc/Library/Android/sdk4eclipse/platform-tools/adb
    info AppiumDoctor  ✔ android exists at: /Users/uc/Library/Android/sdk4eclipse/tools/android
    info AppiumDoctor  ✔ emulator exists at: /Users/uc/Library/Android/sdk4eclipse/tools/emulator
    info AppiumDoctor ### Diagnostic completed, no fix needed. ###
    info AppiumDoctor 
    info AppiumDoctor Everything looks good, bye!
    info AppiumDoctor 
    

    其次,检查环境变量$ANDROID_HOME和aapt,也是OK的。

    ➜  ~ echo $ANDROID_HOME
    /Users/uc/Library/Android/sdk4eclipse
    
    ➜  lib aapt
    Android Asset Packaging Tool
    
    Usage:
     aapt l[ist] [-v] [-a] file.{zip,jar,apk}
       List contents of Zip-compatible archive.
    

    最后,命令行appium解决问题

    后来,网上看到一个提问(可惜忘记保存链接),题主提到他命令后启动正常,手工启动appium才有问题。我尝试使用命令后启动appium后,问题果然解决。

    命令行启动appium:

    /Applications/Appium.app/Contents/MacOS/Appium
    
  • 相关阅读:
    放弃模拟器,安卓手机WiFi投屏到Ubuntu
    在Ubuntu中使用多显示器远程window主机
    完全卸载visual studio及其组件
    使用defineProperty实现自定义setter, 简化前端Angular的重构工作
    数字图像基础
    Python的文本和字节序列
    机器学习开发流程基础
    深度学习之新闻多分类问题
    深度学习之电影二分类的情感问题
    Chrome89针对sessionStorage的更新导致数据共享问题
  • 原文地址:https://www.cnblogs.com/amyzhu/p/9276007.html
Copyright © 2011-2022 走看看