Android - Cordova 3.5.0 deviceready non sparare dopo l'installazione di plug-in multimediale

? Maverick @ | Original: StackOverFlow
---

Questo è un problema interessante e strano .

In primo luogo ho creato progetto Cordova locally . Non sto usando Bd . utilizzando

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

Che ha lavorato con successo !

Poi ho aggiunto piattaforma android, usando

cordova platform add android

Ha lavorato con successo .

Poi ho costruito il progetto con

cordova build

Worked, again.

Ho aperto il progetto da Eclipse e corsi su emulatore . Ha lavorato 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

Rimossa la piattaforma Android e ha aggiunto di nuovo la piattaforma . Poi costruito e corse il progetto su emulatore .

Lo schermo è stato 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 log 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)

Che cosa sta succedendo qui ?

UPDATE:

Funziona bene su iOS .

---

Top 5 Risposta

1jeff.d @

Ho incontrato lo stesso problema .

Che cosa ha funzionato per me era utilizzando una versione diversa del plugin File trovate qui :  https://github.com/onflapp/cordova-plugin-file

Argomento correlato : http://stackoverflow.com/questions/24438087/cordova-file-plugin-never-becomes-ready-in-android

2Amrudesh @

Ho avuto un problema simile . evento deviceReady non sparava ( app ionica su Android ) . Ha lavorato dopo aver rimosso il file plugin v1.2 e poi aggiunsi v1.1 invece .

3Simone Avogadro @

Ho incontrato lo stesso e risolto utilizzando apache ufficiale plug dev File di costruzione :

https://github.com/apache/cordova-plugin-file/

Abbastanza rilascio cordova 1.3.1 - dev divertente è più stabile quindi rilascio ufficiale 1.2.0 ...

4Henrik @

Ormai un https://cordova.apache.org/news/2014/08/11/plugins-release.html è stato rilasciato . Si dovrebbe non verifica il problema con la versione aggiornata ( e non c'è quindi più bisogno di downgrade ) .

5enRaiser @

per me è ottenuto risolto aggiungendo cordova.js in index.html ( anche se non la sua richiesta in ripple )

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