Error: Command failed: C:\windows\system32\cmd.exe /s /c "E:\programfiles\androidSDK\platform-tools\...

本文详细介绍了在使用Appium进行自动化测试时遇到的问题及解决方案。主要针对在Windows环境下,执行自动化测试脚本时出现的错误,通过修改appium的adb.js文件中特定代码来解决。文章提供了具体的修改步骤,包括如何定位到需要修改的代码段,以及如何进行正确的代码替换。

问题

appium等自动化环境都安装配置号后,遇到如下问题:

Error: Command failed: C:\windows\system32\cmd.exe /s /c "E:\programfiles\androidSDK\platform-tools\adb.exe -s emulator-5554 shell "ps 'uiautomator'""

解决方案

网上找到了解决方法,点击这里 也可查看本篇

  • 他讲的内容似乎有点重复,第一步改好的,在最后一步注释掉了。

具体步骤如下:

1.找到adb.js文件,路径为appium的安装路径下:node_modules\appium\node_modules\appium-adb\lib
2.找到如下代码:

ADB.prototype.shell = function (cmd, cb) {
  if (cmd.indexOf('"') === -1) {
    cmd = '"' + cmd + '"';
  }
  var execCmd = 'shell ' + cmd;
  this.exec(execCmd, cb);
};

修改:var execCmd = 'shell ' + cmd;var execCmd = 'shell ' + cmd + '| grep ' + grep;
3.找到如下代码:

ADB.prototype.getPIDsByName = function (name, cb) {
  logger.debug("Getting all processes with '" + name + "'");
  this.shell("ps '" + name + "'", function (err, stdout) {
    if (err) return cb(err);
    stdout = stdout.trim();
    var procs = [];
    var outlines = stdout.split("\n");
	outlines.shift();
    _.each(outlines, function (outline) {
      if (outline.indexOf(name) !== -1) {
        procs.push(outline);
      }
    });
    if (procs.length < 1) {
      logger.debug("No matching processes found");
      return cb(null, []);
    }
    var pids = [];
    _.each(procs, function (proc) {
      var match = /[^\t ]+[\t ]+([0-9]+)/.exec(proc);
      if (match) {
        pids.push(parseInt(match[1], 10));
      }
    });
    if (pids.length !== procs.length) {
      var msg = "Could not extract PIDs from ps output. PIDS: " +
                JSON.stringify(pids) + ", Procs: " + JSON.stringify(procs);
      return cb(new Error(msg));
    }
    cb(null, pids);
  });
};

修改为:

ADB.prototype.getPIDsByName = function (name, cb) {
  logger.debug("Getting all processes with '" + name + "'");
  this.shell_grep("ps", name, function (err, stdout) {
    if (err) {
      logger.debug("No matching processes found");
      return cb(null, []);
    }
    var pids = [];
    _.each(procs, function (proc) {
    var match = /[^\t ]+[\t ]+([0-9]+)/.exec(proc);
    if (match) {
    pids.push(parseInt(match[1], 10));
    }
    });
    if (pids.length !== procs.length) {
      var msg = "Could not extract PIDs from ps output. PIDS: " +
      JSON.stringify(pids) + ", Procs: " + JSON.stringify(procs);
      return cb(new Error(msg));
    }
    cb(null, pids);
  });
};
# Command failed: ['/home/user0601/kivy_env/bin/python3', '-m', 'pythonforandroid.toolchain', 'create', '--dist_name=mnxbnxq_2022_grade4_class1_random', '--bootstrap=sdl2', '--requirements=python3,kivy', '--arch=arm64-v8a', '--arch=armeabi-v7a', '--copy-libs', '--color=always', '--storage-dir=/home/user0601/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug'] # ENVIRONMENT: # SHELL = '/bin/bash' # WSL2_GUI_APPS_ENABLED = '1' # WSL_DISTRO_NAME = 'Ubuntu' # NAME = 'LAPTOP-99GE7DPK' # PWD = '/home/user0601' # LOGNAME = 'user0601' # HOME = '/home/user0601' # LANG = 'C.UTF-8' # WSL_INTEROP = '/run/WSL/312_interop' # LS_COLORS = 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:' # VIRTUAL_ENV = '/home/user0601/kivy_env' # WAYLAND_DISPLAY = 'wayland-0' # LESSCLOSE = '/usr/bin/lesspipe %s %s' # PYTHONPATH = '/home/user0601/.local/lib/python3.12/site-packages:' # TERM = 'xterm-256color' # LESSOPEN = '| /usr/bin/lesspipe %s' # USER = 'user0601' # DISPLAY = ':0' # SHLVL = '1' # VIRTUAL_ENV_PROMPT = '(kivy_env) ' # XDG_RUNTIME_DIR = '/run/user/1000/' # PS1 = ('(kivy_env) \\[\\e]0;\\u@\\h: ' '\\w\\a\\]${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ ') # WSLENV = '' # XDG_DATA_DIRS = '/usr/local/share:/usr/share:/var/lib/snapd/desktop' # PATH = ('/home/user0601/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/user0601/kivy_env/bin:/home/user0601/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program ' 'Files/WindowsApps/MicrosoftCorporationII.WindowsSubsystemForLinux_2.6.1.0_x64__8wekyb3d8bbwe:/mnt/d/Program ' 'Files/Python313/Scripts/:/mnt/d/Program ' 'Files/Python313/:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program ' 'Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/NVIDIA ' 'Corporation/NVIDIA NvDLISR:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files ' '(x86)/HP/HP OCR/DB_Lib/:/mnt/c/Program ' 'Files/HP/Common/HPDestPlgIn/:/mnt/c/Program Files ' '(x86)/HP/Common/HPDestPlgIn/:/mnt/i/exe:/mnt/i/ffmpeg:/mnt/i/ffmpeg/bin:/mnt/c/Program ' 'Files/Git/cmd:/mnt/c/Program Files (x86)/Windows Kits/10/Windows Performance ' 'Toolkit/:/mnt/c/Users/39671/AppData/Local/Microsoft/WindowsApps:/mnt/c/Program ' 'Files/HP/Common/HPDestPlgIn/:/mnt/c/Program Files ' '(x86)/HP/Common/HPDestPlgIn/:/mnt/i/ffmpeg:/mnt/i/exe:/mnt/d/Users/39671/AppData/Local/Programs/Microsoft ' 'VS Code/bin:/mnt/c/Users/39671/.dotnet/tools:/mnt/d/Program ' 'Files/Python313:/mnt/d/Program ' 'Files/Python313/Scripts:/snap/bin:/home/user0601/.local/bin') # DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus' # HOSTTYPE = 'x86_64' # PULSE_SERVER = 'unix:/mnt/wslg/PulseServer' # _ = '/home/user0601/kivy_env/bin/buildozer' # PACKAGES_PATH = '/home/user0601/.buildozer/android/packages' # ANDROIDSDK = '/home/user0601/.buildozer/android/platform/android-sdk' # ANDROIDNDK = '/home/user0601/.buildozer/android/platform/android-ndk-r25b' # ANDROIDAPI = '31' # ANDROIDMINAPI = '21' # # Buildozer failed to execute the last command # The error might be hidden in the log above this error # Please read the full log, and search for it before # raising an issue with buildozer itself. # In case of a bug report, please add a full log with log_level = 2 (kivy_env) user0601@LAPTOP-99GE7DPK:~$
最新发布
09-30
正在执行任务: npm run android > nwesomeproject@0.0.1 android > react-native run-android info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag. Jetifier found 1699 file(s) to forward-jetify. Using 32 workers... info Starting JS server... info Launching emulator... info Successfully launched emulator. info Installing the app... Downloading https://services.gradle.org/distributions/gradle-7.3.3-all.zip Exception in thread "main" javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:128) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1329) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1204) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1151) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:178) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2768) at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2680) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1843) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:245) at org.gradle.wrapper.Download.downloadInternal(Download.java:100) at org.gradle.wrapper.Download.download(Download.java:80) at org.gradle.wrapper.Install$1.call(Install.java:68) at org.gradle.wrapper.Install$1.call(Install.java:48) at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69) at org.gradle.wrapper.Install.createDist(Install.java:48) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63) Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385) at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:290) at java.base/sun.security.validator.Validator.validate(Validator.java:264) at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:321) at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:221) at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1313) ... 25 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297) at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380) ... 31 more error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081 Exception in thread "main" javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:128) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1329) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1204) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1151) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:178) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2768) at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2680) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1843) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:245) at org.gradle.wrapper.Download.downloadInternal(Download.java:100) at org.gradle.wrapper.Download.download(Download.java:80) at org.gradle.wrapper.Install$1.call(Install.java:68) at org.gradle.wrapper.Install$1.call(Install.java:48) at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69) at org.gradle.wrapper.Install.createDist(Install.java:48) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63) Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385) at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:290) at java.base/sun.security.validator.Validator.validate(Validator.java:264) at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:321) at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:221) at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129) at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1313) ... 25 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297) at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380) ... 31 more at makeError (C:\Users\16383\Desktop\AwesomeProject\AwesomeProject\node_modules\execa\index.js:174:9) at C:\Users\16383\Desktop\AwesomeProject\AwesomeProject\node_modules\execa\index.js:278:16 at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async runOnAllDevices (C:\Users\16383\Desktop\AwesomeProject\AwesomeProject\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:109:5) at async Command.handleAction (C:\Users\16383\Desktop\AwesomeProject\AwesomeProject\node_modules\@react-native-community\cli\build\index.js:192:9) info Run CLI with --verbose flag for more details. * 终端进程“C:\Windows\System32\cmd.exe /d /c npm run android”已终止,退出代码: 1。 * 终端将被任务重用,按任意键关闭。
09-20
CommandInvokationFailure: Gradle build failed. D:\Program Files\Java\jdk-11.0.14\bin\java.exe -classpath "D:\--U3DProjects--\Unity_Android\gradle-7.5.1-all\gradle-7.5.1\lib\gradle-launcher-7.5.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease" Environment Variables: PROCESSOR_ARCHITECTURE = AMD64 ANDROID_NDK_ROOT = D:\--U3DProjects--\Unity_Android\android-ndk-r21d-windows-x86_64\android-ndk-r21d FPS_BROWSER_APP_PROFILE_STRING = Internet Explorer USERDOMAIN = xh CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files COMPUTERNAME = XH LOGONSERVER = \\XH EFC_11976_2283032206 = 1 PUBLIC = C:\Users\Public ProgramData = C:\ProgramData SESSIONNAME = Console ALLUSERSPROFILE = C:\ProgramData RegionCode = APJ EFC_11976_3789132940 = 1 EFC_11976_2775293581 = 1 SystemRoot = C:\WINDOWS windir = C:\WINDOWS ProgramFiles(x86) = C:\Program Files (x86) CUDA_CACHE_MAXSIZE = 268435456 ProgramW6432 = C:\Program Files INTEL_DEV_REDIST = C:\Program Files (x86)\Common Files\Intel\Shared Libraries\ DriverData = C:\Windows\System32\Drivers\DriverData ChocolateyLastPathUpdate = 133597786832378419 OS = Windows_NT PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 151 Stepping 2, GenuineIntel HOMEPATH = \Users\xh FPS_BROWSER_USER_PROFILE_STRING = Default ChocolateyInstall = C:\ProgramData\chocolatey CHROME_CRASHPAD_PIPE_NAME = \\.\pipe\crashpad_19448_WTOQJLPATUTZUACX PROCESSOR_LEVEL = 6 GRADLE_HOME = D:\--U3DProjects--\Unity_Android\gradle-7.5.1-all\gradle-7.5.1 platformcode = 7F CommonProgramFiles = C:\Program Files\Common Files ZES_ENABLE_SYSMAN = 1 USERDOMAIN_ROAMINGPROFILE = xh TEMP = C:\Users\xh\AppData\Local\Temp CommonProgramW6432 = C:\Program Files\Common Files JAVA_HOME = D:\Program Files\Java\jdk-11.0.14 HOMEDRIVE = C: USERNAME = xh OneDrive = C:\Users\xh\OneDrive IGCCSVC_DB = AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAhvxItpnx6kO96bmW/rDHTgQAAAACAAAAAAAQZgAAAAEAACAAAAAr81x8nDoYViOqaC68RP2GMYtcv6lqGSrtThIDrc8DBgAAAAAOgAAAAAIAACAAAAC7UzKhxQE6Qwdv1+BAJV0gEt2t5OkkK++oxHy4imdrymAAAABx/CqW3G+NflF3X38jATB54MYw4jbPOp+wXVjluYsgko8kx8AFBoMOEHenCL9wTn6zqISN0oJ7aL+Fmdxcqk48GC5EabxQz9n7VxEMHljPAd7q7hRIfF4X2CRKoH+2559AAAAA3imYPlXakhMlUoU/sAJDaExkz5jVCh0JW0vUb8pYHHn8WInefjK+kXT51zvTgODEwVAS02mu9OzebJI+Q7L3Qw== PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC CUDA_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0 EFC_11976_1592913036 = 1 NUMBER_OF_PROCESSORS = 20 VRAY_SEND_FEEDBACK = 1 ProgramFiles = C:\Program Files PSModulePath = C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;D:\Program Files\VisualSVN Server\PowerShellModules ComSpec = C:\WINDOWS\system32\cmd.exe ORIGINAL_XDG_CURRENT_DESKTOP = undefined ANDROID_SDK_HOME = D:\--U3DProjects--\Unity_Android\AndroidSDK\AndroidSDK PROCESSOR_REVISION = 9702 CUDA_PATH_V12_0 = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0 TMP = C:\Users\xh\AppData\Local\Temp SystemDrive = C: OnlineServices = Online Services OneDriveConsumer = C:\Users\xh\OneDrive FLEXLM_TIMEOUT = 2000000 EFC_11976_1262719628 = 1 APPDATA = C:\Users\xh\AppData\Roaming VISUALSVN_SERVER = D:\Program Files\VisualSVN Server\ Path = C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\libnvvp;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\compiler;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;D:\App\ffmpeg\;D:\App\tesseract\;D:\App\CMake\bin\;C:\Program Files\NVIDIA Corporation\Nsight Compute 2022.4.1\;C:\Program Files\dotnet\;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;D:\npm\node_global;C:\Program Files (x86)\PICO Business Suite\SDK\clientdll\32;C:\Program Files (x86)\PICO Business Suite\SDK\clientdll\64;"D:\Program Files\Java\jdk-11.0.14\bin;";C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\Program Files\TortoiseSVN\bin;D:\Program Files\VisualSVN Server\bin;D:\Program Files\BusinessStreaming\SDK\lib;D:\--U3DProjects--\Unity_Android\gradle-7.5.1-all\gradle-7.5.1\bin;";D:\--U3DProjects--\Unity_Android\AndroidSDK\AndroidSDK\platform-tools;D:\--U3DProjects--\Unity_Android\AndroidSDK\AndroidSDK\tools";D:\Program Files\Git\cmd;C:\Users\xh\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\xh\AppData\Local\Programs\Python\Python311\;C:\Users\xh\AppData\Local\Microsoft\WindowsApps;C:\Users\xh\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\xh\AppData\Local\Android\Sdk\platform-tools;C:\Users\xh\AppData\Local\Android\Sdk\tools;C:\Users\xh\.dotnet\tools;C:\Users\xh\AppData\Roaming\npm;C:\Users\xh\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\Scripts\; SVN_EXPERIMENTAL_COMMANDS = shelf2 LOCALAPPDATA = C:\Users\xh\AppData\Local USERPROFILE = C:\Users\xh LINUX_MULTIARCH_ROOT = C:\UnrealToolchains\v19_clang-11.0.1-centos7\ stderr[ FAILURE: Build completed with 2 failures. 1: Task failed with an exception. ----------- * What went wrong: Execution failed for task ':launcher:lintVitalAnalyzeRelease'. > Could not resolve all files for configuration ':launcher:releaseCompileClasspath'. > Failed to transform out.aar (project :unityLibrary) to match attributes {artifactType=android-lint-exploded-aar, com.android.build.api.attributes.AgpVersionAttr=7.4.2, com.android.build.api.attributes.BuildTypeAttr=release, com.android.build.gradle.internal.attributes.VariantAttr=release, org.gradle.usage=java-api}. > Execution failed for ExtractAarTransform: D:\--U3DProjects--\U3D_Android_GameOutput_20250422(Unity20210345)\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\build\intermediates\local_aar_for_lint\release\out.aar. > malformed input off : 14, length : 1 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. ============================================================================== 2: Task failed with an exception. ----------- * What went wrong: java.lang.StackOverflowError (no error message) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. ============================================================================== * Get more help at https://help.gradle.org BUILD FAILED in 4s ] stdout[ > Configure project :launcher WARNING:The option setting 'android.aapt2FromMavenOverride=D:\--U3DProjects--\Unity_Android\AndroidSDK\AndroidSDK\build-tools\36.0.0\aapt2.exe' is experimental. > Task :launcher:preBuild UP-TO-DATE > Task :launcher:preReleaseBuild UP-TO-DATE > Task :unityLibrary:preBuild UP-TO-DATE > Task :unityLibrary:preReleaseBuild UP-TO-DATE > Task :unityLibrary:compileReleaseAidl NO-SOURCE > Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE > Task :launcher:generateReleaseBuildConfig UP-TO-DATE > Task :launcher:compileReleaseAidl NO-SOURCE > Task :unityLibrary:mergeReleaseNativeLibs UP-TO-DATE > Task :launcher:javaPreCompileRelease UP-TO-DATE > Task :unityLibrary:stripReleaseDebugSymbols UP-TO-DATE > Task :launcher:generateReleaseResValues UP-TO-DATE > Task :unityLibrary:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE > Task :unityLibrary:compileReleaseRenderscript NO-SOURCE > Task :unityLibrary:generateReleaseResValues UP-TO-DATE > Task :unityLibrary:extractDeepLinksForAarRelease UP-TO-DATE > Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE > Task :unityLibrary:generateReleaseResources UP-TO-DATE > Task :launcher:createReleaseCompatibleScreenManifests > Task :launcher:extractProguardFiles UP-TO-DATE > Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE > Task :launcher:checkReleaseDuplicateClasses UP-TO-DATE > Task :launcher:mergeReleaseShaders UP-TO-DATE > Task :launcher:compileReleaseShaders NO-SOURCE > Task :launcher:generateReleaseAssets UP-TO-DATE > Task :launcher:processReleaseJavaRes NO-SOURCE > Task :launcher:collectReleaseDependencies UP-TO-DATE > Task :launcher:sdkReleaseDependencyData UP-TO-DATE > Task :launcher:validateSigningRelease UP-TO-DATE > Task :launcher:writeReleaseAppMetadata UP-TO-DATE > Task :launcher:writeReleaseSigningConfigVersions UP-TO-DATE > Task :unityLibrary:packageReleaseResources > Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE > Task :unityLibrary:javaPreCompileRelease UP-TO-DATE > Task :unityLibrary:mergeReleaseShaders UP-TO-DATE > Task :unityLibrary:compileReleaseShaders NO-SOURCE > Task :unityLibrary:generateReleaseAssets UP-TO-DATE > Task :unityLibrary:processReleaseManifest > Task :unityLibrary:packageReleaseAssets > Task :unityLibrary:generateReleaseRFile UP-TO-DATE > Task :unityLibrary:extractReleaseAnnotations UP-TO-DATE > Task :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE > Task :unityLibrary:mergeReleaseGeneratedProguardFiles UP-TO-DATE > Task :unityLibrary:mergeReleaseConsumerProguardFiles UP-TO-DATE > Task :unityLibrary:packageReleaseRenderscript NO-SOURCE > Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE > Task :unityLibrary:prepareReleaseArtProfile UP-TO-DATE > Task :unityLibrary:processReleaseJavaRes UP-TO-DATE > Task :unityLibrary:mergeReleaseJavaResource UP-TO-DATE > Task :unityLibrary:syncReleaseLibJars UP-TO-DATE > Task :unityLibrary:writeReleaseAarMetadata UP-TO-DATE > Task :launcher:mergeReleaseAssets > Task :launcher:compileReleaseRenderscript NO-SOURCE > Task :launcher:checkReleaseAarMetadata UP-TO-DATE > Task :launcher:mapReleaseSourceSetPaths UP-TO-DATE > Task :launcher:generateReleaseResources UP-TO-DATE > Task :launcher:extractDeepLinksRelease UP-TO-DATE > Task :launcher:mergeReleaseArtProfile UP-TO-DATE > Task :launcher:compressReleaseAssets > Task :unityLibrary:bundleReleaseLocalLintAar > Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE > Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE > Task :unityLibrary:bundleLibCompileToJarRelease UP-TO-DATE > Task :unityLibrary:bundleLibResRelease UP-TO-DATE > Task :unityLibrary:bundleLibRuntimeToJarRelease UP-TO-DATE > Task :unityLibrary:createFullJarRelease UP-TO-DATE > Task :unityLibrary:writeReleaseLintModelMetadata UP-TO-DATE > Task :unityLibrary:copyReleaseJniLibsProjectOnly UP-TO-DATE > Task :unityLibrary:bundleLibRuntimeToDirRelease UP-TO-DATE > Task :launcher:processReleaseMainManifest > Task :launcher:processReleaseManifest > Task :launcher:mergeReleaseNativeLibs UP-TO-DATE > Task :launcher:stripReleaseDebugSymbols UP-TO-DATE > Task :launcher:extractReleaseNativeSymbolTables UP-TO-DATE > Task :launcher:mergeReleaseNativeDebugMetadata NO-SOURCE > Task :launcher:mergeReleaseJavaResource UP-TO-DATE > Task :launcher:processReleaseManifestForPackage > Task :launcher:mergeReleaseResources > Task :launcher:processReleaseResources > Task :launcher:desugarReleaseFileDependencies > Task :launcher:compileReleaseJavaWithJavac UP-TO-DATE > Task :launcher:lintVitalAnalyzeRelease FAILED 65 actionable tasks: 14 executed, 51 up-to-date ] exit code: 1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, Unity.Android.Gradle.AndroidGradle androidGradle, System.String workingdir, System.String task, System.Action`1[T] progress) (at <38618122a4794f0d9e57ce58efdcb491>:0) Rethrow as GradleInvokationException: Gradle build failed UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, Unity.Android.Gradle.AndroidGradle androidGradle, System.String workingdir, System.String task, System.Action`1[T] progress) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <38618122a4794f0d9e57ce58efdcb491>:0) Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown. UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, AndroidPlayerBuildProgram.Data.AndroidPlayerBuildProgramOutput buildProgramOutput) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <38618122a4794f0d9e57ce58efdcb491>:0) UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <ed5166a8a2814dbeaa3af81c6d14987b>:0) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
06-21
<think>好的,我现在要解决用户遇到的npm安装windows-build-tools时的错误,错误代码是1,具体是在下载python-2.7.15.amd64.msi时失败。首先,我需要回忆一下windows-build-tools的作用,它通常用于安装构建Node.js原生模块所需的工具,比如Python 2.7、Visual Studio Build Tools等。但用户在使用npm安装时遇到了问题,尤其是在下载Python 2.7的时候。 首先,根据用户提供的引用内容,特别是引用[3]中提到node版本与某些包(如node-sass)的兼容性问题,可能需要检查用户的Node.js版本是否与windows-build-tools兼容。不过windows-build-tools通常对Node版本的要求可能不那么严格,但最好确认一下官方文档是否有版本限制。 接下来,引用[1]和[3]都提到node-sass安装失败的问题,通常是因为Node.js版本与node-sass版本不匹配。虽然这里的问题不是node-sass,但思路类似:检查环境变量和依赖项是否安装正确。用户提到的错误是在下载Python时失败,可能原因包括网络问题、权限不足或路径设置错误。 此外,引用[4]中提到vue命令出错是因为全局路径未添加,这可能提示用户的环境变量配置有问题。安装windows-build-tools可能需要管理员权限,或者某些系统路径不可写,比如安装在Program Files下可能需要提升权限。 可能的解决步骤: 1. 使用管理员权限运行命令行:因为安装系统级工具可能需要管理员权限,尤其是在写入系统目录时。 2. 设置正确的Python路径:如果用户已经安装了Python 2.7,可以尝试手动指定,避免自动下载失败。 3. 检查网络或代理问题:下载.msi文件可能被防火墙或代理拦截,导致下载失败。 4. 手动安装依赖项:如单独安装Python 2.7和Visual Studio Build Tools,然后跳过windows-build-tools的自动安装。 5. 清理缓存或临时文件:有时候残留文件会导致安装失败,删除node_modules和npm缓存可能有帮助。 6. 使用替代工具:比如安装最新版本的Python 3.x,并配置npm使用Python 3,但需要注意兼容性。 另外,用户提到的错误路径是D:\ProgramFiles\nodejs\node_global\node_modules\windows-build-tools,可能存在路径中有空格或特殊字符的问题,但用户路径似乎没有空格。不过,路径权限可能有问题,需要确保Node.js安装目录有写入权限。 还需要参考官方文档,看看windows-build-tools是否有已知问题或替代安装方法。例如,可能推荐使用Chocolatey或其他包管理器来安装所需工具,而不是通过npm。 最后,根据引用[2]中的内容,npm的缓存路径或配置文件可能存在问题,检查.npmrc文件是否存在异常配置,或者尝试清除npm缓存。</think>### 分步解决方案 #### 1. **以管理员身份运行命令提示符** 安装系统级工具需要管理员权限,右键点击命令行工具选择「以管理员身份运行」后执行安装命令: ```cmd npm install --global windows-build-tools --vs2015 ``` #### 2. **手动设置Python 2.7环境变量** 若自动下载失败,可手动安装Python 2.7.15: - 从[Python 2.7.15官方下载页](https://www.python.org/downloads/release/python-2715/)获取安装包 - 安装时勾选「Add python.exe to Path」选项 - 验证安装: ```cmd python --version # 应输出 Python 2.7.15 ``` #### 3. **配置npm使用本地Python** 设置npm指向已安装的Python路径: ```cmd npm config set python "C:\Python27\python.exe" ``` #### 4. **安装Visual Studio Build Tools** 访问[Visual Studio 2015 Build Tools](https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/)单独安装: - 勾选「Visual C++ Build Tools」和「Windows 10 SDK」 #### 5. **清理npm缓存** 删除残留文件避免干扰: ```cmd npm cache clean --force rmdir /s node_modules ``` #### 6. **配置镜像源加速下载** 若网络不稳定,可设置国内镜像源: ```cmd npm config set registry https://registry.npmmirror.com ``` ### 补充说明 若上述方法无效,可尝试以下方案: - **使用替代工具**:通过Chocolatey安装构建工具: ```cmd choco install python2 visualstudio2015buildtools ``` - **升级Node.js版本**:某些旧Node版本存在兼容性问题,建议使用LTS版本(如v14.18.1)[^3] - **检查防病毒软件**:临时关闭防火墙或杀毒软件,避免拦截安装进程 --- ### 相关问题 1. 如何验证windows-build-tools是否安装成功? 2. Node.js原生模块编译需要哪些基础环境配置? 3. npm全局安装路径配置错误会导致什么问题?[^2][^4] 4. 为什么现代前端工具链逐渐弃用Python 2?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值