2016-03-22 21 views
5

Sto tentando di eseguire un progetto Meteor su un dispositivo Android e/o emulatore. Quando eseguo meteor run --verbose android o meteor run --verbose android-device, ottengo errori relativi a Cordova che non è in grado di trovare determinati file gradle. Ecco alcuni output dalla mia console:meteor run android- spawn ENOENT e gradle errori da Cordova

[email protected]:~/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: [email protected] 
<... 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 

Infatti, i file e le directory a cui sta tentando di accedere non ci sono. $ANDROID_HOME/tools/template/gradle/wrapper non hai directory gradlew

[email protected]:~/Android/Sdk/tools/templates/gradle/wrapper$ ls 
gradle 

Allo stesso modo, non ci sono file a tutti nella mia directory ~/simple-todos/.meteor/local/cordova-build/platforms/android/gradle/wrapper, quindi non c'è gradle-wrapper.properties.

Sono anche piuttosto incerto sul significato dell'errore spawn ENOENT.

Come posso risolvere questo?

EDIT: volevo testare che gradle ha funzionato sulla mia macchina, quindi ho creato un'app in Android Studio e l'ho eseguita sul mio telefono, ha funzionato bene. Il mio progetto Meteor non funziona ancora su Android, ma penso che questo mi dice che gradle sta lavorando (da qualche parte) sul mio computer.

EDIT: Ho cercato per una directory gradlew sul mio computer e gli unici che ho trovato erano in un android-studio, non nel mio $ANDROID_HOME (~\Android/Sdk). Non sono sicuro di cosa fare con queste informazioni, ma sembra rilevante.

EDIT Mi venne in mente che l'uscita del gradle -v potrebbe essere utile:

$ 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 
+0

Mi chiedo se questo mi aiuterà: https://guides.codepath.com/android/Getting-Started-with-Gradle –

+0

questo potrebbe essere utile, almeno un po ': https: // docs. gradle.org/current/userguide/gradle_wrapper.html – CasualT

risposta

0

diniego iniziale: Io non sono super-familiarità con gli strumenti specifici che si sta utilizzando in cima al android + Gradle , ma cercherò di aiutare nel miglior modo possibile.

Questa è la pena di leggere: https://docs.gradle.org/current/userguide/gradle_wrapper.html

Inoltre, probabilmente si desidera ottenere l'installazione Gradle sul sistema prima, e doppio controllo che la casa Gradle è impostato (* non sempre necessario, ma dipende da ciò che altre cose come Android studio, ecc. autometicamente): https://docs.gradle.org/current/userguide/installation.html

La mia ipotesi è che gli strumenti che si stanno utilizzando stanno cercando di trovare il sistema gradle e/o gradlew che si aspetta di avere nel progetto ... e che sta ottenendo mischiato.