【问题标题】:Meteor application doesn't run on AndroidMeteor 应用程序无法在 Android 上运行
【发布时间】:2018-03-21 20:44:48
【问题描述】:

我按照Meteor Guidehere 中的教程进行操作。该应用程序仍然无法正常运行。我在终端中收到以下错误(应用程序在 IOS 上运行,没有错误):

WARNING: Attempting to install plugin cordova-plugin-statusbar@2.2.1, but it should have a minimum version of 2.2.3 to ensure compatibility
         with the current platform versions. Installing the minimum version for convenience, but you should adjust your dependencies.
WARNING: Attempting to install plugin cordova-plugin-splashscreen@4.0.1, but it should have a minimum version of 4.0.3 to ensure
         compatibility with the current platform versions. Installing the minimum version for convenience, but you should adjust your
         dependencies.

WARNING: It looks like you are using OAuth2 login in your app. Meteor's OAuth2 implementation does not currently work with mobile apps in
         local development mode, except in the iOS simulator. You can run the iOS simulator with 'meteor run ios'. For additional
         workarounds, see https://github.com/meteor/meteor/wiki/OAuth-for-mobile-Meteor-clients.

WARNING: You are testing your app on a remote device. For the mobile app to be able to connect to the local server, make sure your device
         is on the same network, and that the network configuration allows clients to talk to each other (no client isolation).
=> Errors executing Cordova commands:         

   While running Cordova app for platform Android with options --device:
   Error: Command failed: /Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/run --device
   { Error: spawn EACCES
   at _errnoException (util.js:1024:11)
   at ChildProcess.spawn (internal/child_process.js:323:11)
   at Object.exports.spawn (child_process.js:502:9)
   at exports.spawn
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:134:31)
   at GradleBuilder.runGradleWrapper
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/lib/builders/GradleBuilder.js:78:14)
   at /Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/lib/builders/GradleBuilder.js:178:21
   at _fulfilled (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:854:54)
   at self.promiseDispatch.done
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:883:30)
   at Promise.promise.promiseDispatch
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:816:13)
   at /Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:570:49 code: 'EACCES', errno:
   'EACCES', syscall: 'spawn' } 'Error: spawn EACCES\n    at _errnoException (util.js:1024:11)\n    at ChildProcess.spawn
   (internal/child_process.js:323:11)\n    at Object.exports.spawn (child_process.js:502:9)\n    at exports.spawn
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:134:31)\n
   at GradleBuilder.runGradleWrapper
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/lib/builders/GradleBuilder.js:78:14)\n    at
   /Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/lib/builders/GradleBuilder.js:178:21\n    at _fulfilled
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:854:54)\n    at
   self.promiseDispatch.done
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:883:30)\n    at
   Promise.promise.promiseDispatch
   (/Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:816:13)\n    at
   /Users/mzn/Desktop/chat/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:570:49'
   at ChildProcess.exitCallback (/tools/utils/processes.js:151:23)
   at emitTwo (events.js:126:13)
   at ChildProcess.emit (events.js:214:7)
   at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)

是什么导致了错误?

感谢任何反馈

注意:尝试使用模拟器运行时遇到同样的错误。

在终端中使用adb devices时可以看到模拟器正在运行

【问题讨论】:

  • 您对 .meteor 文件夹中的文件有一些未经授权的访问权限。也许你已经做了一些 sudo npm install ?尝试使用以下命令行将文件的所有权更改为您的用户名(将用户名更改为您的用户名):sudo chown -R username /Users/mzn/Desktop/chat
  • @bordalix 不幸的是它没有用

标签: android cordova meteor


【解决方案1】:

这是 Android Studio 版本 3 和 Gradle 4.1 中的问题

运行以下命令:

sudo chmod 777 /Applications/"Android Studio.app"/Contents/gradle/gradle-4.1/bin/gradle

然后尝试meteor run android 并确保模拟器正在运行。如果您想在真实设备中进行测试,请使用meteor run android-device

【讨论】:

    猜你喜欢
    • 2014-11-01
    • 2015-03-10
    • 2019-08-03
    • 2020-03-16
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 2012-07-02
    相关资源
    最近更新 更多