[英]meteor run android- spawn ENOENT and gradle errors from Cordova
我試圖在Android設備和/或模擬器上運行Meteor項目。 當我運行meteor run --verbose android
或meteor run --verbose android-device
,我得到與Cordova相關的錯誤,無法找到某些gradle
文件。 這是我的控制台的一些輸出:
sarah@sarah-ThinkPad-X220:~/simple-todos$ meteor run --verbose android
Getting installed version for platform android in Cordova project
Checking Cordova requirements for platform Android
[[[[[ ~/simple-todos ]]]]]
=> Started proxy.
=> Started MongoDB.
Local package version is up-to-date: autopublish@1.0.4
<... removed some other "Local package" messages here ...>
Preparing Cordova project from app bundle
Copying resources for mobile apps
Writing new config.xml
Preparing Cordova project for platform Android
Running Cordova app for platform Android with options --emulator
ANDROID_HOME=/home/sarah/Android/Sdk/ |
JAVA_HOME=/usr/lib/jvm/default-java
=> Started your app.
=> App running at: http://localhost:3000/
WARNING : no emulator specified, defaulting to nexus4
Waiting for emulator...oid Emulator |
emulator: UpdateChecker: skipped version check
BOOT COMPLETEpp on Android Emulator -
cp: no such file or directory: /home/sarah/Android/Sdk/tools/templates/gradle/wrapper/gradlew
chmod: File not found: /home/sarah/simple-todos/.meteor/local/cordova-build/platforms/android/gradle/wrapper/gradle-wrapper.properties
sed: no such file or directory: /home/sarah/simple-todos/.meteor/local/cordova-build/platforms/android/gradle/wrapper/gradle-wrapper.properties
Running: /home/sarah/simple-todos/.meteor/local/cordova-build/platforms/android/gradlew cdvBuildDebug -b /home/sarah/simple-todos/.meteor/local/cordova-build/platforms/android/build.gradle -PcdvBuildArch=x86 -Dorg.gradle.daemon=true
events.js:72app on Android Emulator \
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:1011:11)
at Process.ChildProcess._handle.onexit (child_process.js:802:34)
=> Errors executing Cordova commands:
While running Cordova app for platform Android with options --emulator:
Error: Command failed:
/home/sarah/simple-todos/.meteor/local/cordova-build/platforms/android/cordova/run --emulator
at ChildProcess.exitCallback (/tools/utils/processes.js:137:23)
at ChildProcess.emit (events.js:98:17)
at Process.ChildProcess._handle.onexit (child_process.js:820:12)
ExitWithCode:1
實際上,它試圖訪問的文件和目錄不存在。 $ANDROID_HOME/tools/template/gradle/wrapper
沒有目錄gradlew
sarah@sarah-ThinkPad-X220:~/Android/Sdk/tools/templates/gradle/wrapper$ ls
gradle
同樣,我的~/simple-todos/.meteor/local/cordova-build/platforms/android/gradle/wrapper
目錄中根本沒有文件,所以沒有gradle-wrapper.properties
。
我也很不確定spawn ENOENT
錯誤的含義。
我怎樣才能解決這個問題?
編輯 :我想在我的機器上測試gradle工作,所以我在Android Studio中制作了一個應用程序並在我的手機上運行 - 工作正常。 我的Meteor項目仍然無法在Android上運行,但我認為這告訴我gradle在我的計算機上工作(某處)。
編輯 :我在我的計算機上搜索了一個gradlew
目錄,我發現的只有一個在android-studio
,而不是我的$ANDROID_HOME
( ~\\Android/Sdk
)。 不知道如何處理這些信息,但似乎相關。
編輯我發現gradle -v
的輸出可能有用:
$ gradle -v
------------------------------------------------------------
Gradle 2.5
------------------------------------------------------------
Build time: 2015-08-31 14:26:53 UTC
Build number: none
Revision: UNKNOWN
Groovy: 2.4.3
Ant: Apache Ant(TM) version 1.9.6 compiled on July 8 2015
JVM: 1.7.0_95 (Oracle Corporation 24.95-b01)
OS: Linux 4.2.0-23-generic amd64
最初的免責聲明:我不是非常熟悉你在android + gradle上使用的特定工具,但我會盡力幫助你。
這值得一讀: https : //docs.gradle.org/current/userguide/gradle_wrapper.html
此外,您可能希望首先在系統上進行gradle設置,並仔細檢查gradle home是否已設置(*並非總是必要,但取決於其他內容如android studio等自動引入): https:// docs .gradle.org /電流/ userguide / installation.html
我的猜測是你正在使用的工具是試圖找到它希望在你的項目中可用的系統gradle和/或gradlew ......而且它正在混淆。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.