2014-06-28 12 views
9

Questo è un problema strano e interessante.Android - Deviceready di Cordova 3.5.0 non si attiva dopo aver installato il plug-in multimediale

Prima ho creato il progetto Cordova locally. Non sto usando Bd. utilizzando

cordova create test com.test.project.story "Test"

che ha funzionato con successo!

poi ho aggiunto android piattaforma, utilizzando

cordova platform add android

lavorato con successo.

Poi ho costruito il progetto con

cordova build

funzionato, ancora una volta.

Ho aperto il progetto da Eclipse e l'ho eseguito sull'emulatore. Ha funzionato correttamente.

Poi ho pensato di aggiungere alcuni plugin nel mio progetto utilizzando

cordova plugin add org.apache.cordova.file 
cordova plugin add org.apache.cordova.media 

rimosso la piattaforma Android e ha aggiunto di nuovo la piattaforma. Quindi ha creato ed eseguito il progetto sull'emulatore.

Lo schermo era bloccato su Connecting to device per sempre.

Ho ricontrollato se stavo usando il corretto cordova.js per piattaforma Android. E 'corretto, e si dice

// Platform: android 
// 3.5.0 

Controllato registro ADB e ci sono un sacco di cose sospette in corso.

D/CordovaWebViewClient(1581): onPageFinished(file:///android_asset/www/index.html) 
D/CordovaActivity(1581): onMessage(onPageFinished,file:///android_asset/www/index.html) 
D/CordovaActivity(1581): onMessage(spinner,stop) 
D/TilesManager(1581): new EGLContext from framework: 2a1a2a10 
D/GLWebViewState(1581): Reinit shader 
D/dalvikvm( 270): GC_CONCURRENT freed 322K, 46% free 9831K/17991K, paused 813ms+21ms, total 2252ms 
D/dalvikvm( 270): WAIT_FOR_CONCURRENT_GC blocked 906ms 
D/GLWebViewState(1581): Reinit transferQueue 
W/ApplicationContext(1581): Unable to create external files directory 
D/  (1581): HostConnection::get() New Host Connection established 0x4a5f8558, tid 1605 
E/PluginManager(1581): Uncaught exception from plugin 
E/PluginManager(1581): java.lang.NullPointerException 
E/PluginManager(1581):  at org.apache.cordova.file.FileUtils.requestAllPaths(FileUtils.java:866) 
E/PluginManager(1581):  at org.apache.cordova.file.FileUtils.execute(FileUtils.java:348) 
E/PluginManager(1581):  at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:65) 
E/PluginManager(1581):  at org.apache.cordova.PluginManager.execHelper(PluginManager.java:242) 
E/PluginManager(1581):  at org.apache.cordova.PluginManager.exec(PluginManager.java:227) 
E/PluginManager(1581):  at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:53) 
E/PluginManager(1581):  at org.apache.cordova.CordovaChromeClient.onJsPrompt(CordovaChromeClient.java:227) 
E/PluginManager(1581):  at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:655) 
E/PluginManager(1581):  at android.os.Handler.dispatchMessage(Handler.java:99) 
E/PluginManager(1581):  at android.os.Looper.loop(Looper.java:137) 
E/PluginManager(1581):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
E/PluginManager(1581):  at java.lang.reflect.Method.invokeNative(Native Method) 
E/PluginManager(1581):  at java.lang.reflect.Method.invoke(Method.java:511) 
E/PluginManager(1581):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
E/PluginManager(1581):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
E/PluginManager(1581):  at dalvik.system.NativeStart.main(Native Method) 
D/dalvikvm( 270): GC_FOR_ALLOC freed 593K, 48% free 9509K/17991K, paused 275ms, total 280ms 
I/dalvikvm-heap( 270): Grow heap (frag case) to 10.559MB for 1286224-byte allocation 
D/dalvikvm( 270): GC_FOR_ALLOC freed 2K, 41% free 10763K/17991K, paused 182ms, total 186ms 
D/dalvikvm( 270): GC_CONCURRENT freed 61K, 38% free 11284K/17991K, paused 41ms+11ms, total 304ms 
D/CordovaActivity(1581): onMessage(spinner,stop) 
D/dalvikvm( 270): GC_CONCURRENT freed 2676K, 43% free 10293K/17991K, paused 16ms+29ms, total 130ms 
D/CordovaLog(1581): file:///android_asset/www/cordova.js: Line 1154 : deviceready has not fired after 5 seconds. 
I/Web Console(1581): deviceready has not fired after 5 seconds. at file:///android_asset/www/cordova.js:1154 
D/CordovaLog(1581): file:///android_asset/www/cordova.js: Line 1147 : Channel not fired: onFileSystemPathsReady 
I/Web Console(1581): Channel not fired: onFileSystemPathsReady at file:///android_asset/www/cordova.js:1147 
E/ThrottleService( 149): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory) 
D/dalvikvm( 251): GC_CONCURRENT freed 384K, 9% free 6556K/7175K, paused 7ms+5ms, total 67ms 
D/dalvikvm( 251): GC_CONCURRENT freed 384K, 9% free 6556K/7175K, paused 6ms+13ms, total 62ms 
I/EventLogService( 240): Aggregate from 1403981475023 (log), 1403981475023 (data) 
E/ThrottleService( 149): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory) 

Cosa sta succedendo qui?

UPDATE:

funziona bene su iOS.

+0

1) non hai bisogno di rimuovere e reinstallare la piattaforma. 2) prova a rimuovere e reinstallare nuovamente questi plugin. (Solo un suggerimento, non so funzionerà o no) – AtanuCSE

+0

Ci sono! Vediamo – AdityaParab

+0

Non ha funzionato, grazie comunque :) :) – AdityaParab

risposta

9

Mi sono imbattuto nello stesso problema.

Quello che ha funzionato per me stava usando una versione diversa del plugin file trovato qui: https://github.com/onflapp/cordova-plugin-file

Argomento correlato: Cordova File plugin never becomes ready in Android

+3

Grazie! Lavorato! Ho rimosso il plug-in del file e installato il precedente 'org.apache.cordova.file @ 1.1.0' – AdityaParab

+0

Ho lo stesso problema con Cordova CLI 5.1.1. Funziona bene su iOS, ma non su Android. Io uso solo il plugin InAppBrowser. Se rimuovo il plug-in InBrowser, deviceready viene attivato anche su Android. Nel frattempo lavoro con Intel XDK/Cordova per 6 mesi e ho sperimentato che molte cose sono ancora agli inizi. Intel XDK potrebbe sembrare più veloce e semplice al primo sguardo, ma sarà necessario più tempo per trovare i bug su Intel XDK. Intel XDK IDE non verificherà se i plug-in suggeriti sono compatibili con la versione Cordova utilizzata. La prossima volta proverai VS + Xamarin. –

1

ho avuto un problema simile. l'evento deviceReady non è stato attivato (app ionica su Android). Ho lavorato dopo aver rimosso il plug-in di file v1.2 e poi aggiunto la versione 1.1.

+0

Sì! La stessa cosa ha funzionato anche per me :) – AdityaParab

2

Ho incontrato lo stesso e risolto utilizzando apache ufficiale dev plugin di build:

divertente rilascio abbastanza Cordova 1.3.1-dev è più stabile di rilascio quindi ufficiale 1.2 .0 ...

+0

Quindi, poiché hai trovato un bug che si trova nella versione 1.2.0 ma non nell'intera versione 1.3.1-dev, sai tutta la stabilità di entrambe le versioni. – MrFox

+0

eh eh MrFox, ho scritto quel commento dopo averlo adottato per un'app senza effetti collaterali osservabili. Quindi per il mio caso d'uso il 1.3.1-dev si è dimostrato più stabile di 1.2.0. Tutto sommato non è così strano dato che alcune versioni sono più focalizzate sulla stabilità (rimuovono i bug dalle versioni precedenti) e altre sull'aggiunta di funzionalità (al prezzo dell'aggiunta di bug). L'unico contributo che posso dare è la mia esperienza e nella mia esperienza questo è stato un grosso errore! –

+0

Sarebbe andato tutto bene. Ma hai affermato che la versione di sviluppo è in effetti più stabile rispetto alla versione ufficiale. Sono d'accordo che non puoi concludere che dalla tua esperienza personale limitata. Quindi non farlo. – MrFox

2

A questo punto è stato rilasciato uno newer version of the file plugin. Non dovresti più riscontrare il problema con la versione aggiornata (e quindi non è più necessario eseguire il downgrade).

6

per me è ottenuto risolto da cordova.js aggiunta a index.html (anche se la sua non richiesti in ripple)

<script src="cordova.js"></script> 
Problemi correlati