2014-06-26 8 views
5

Ich habe eine tote einfache Cordova App mit einem einzigen Plugin: org.apache.cordova.file.Cordova Datei-Plugin wird nie in Android

Wenn ich die App in einem Android-Emulator emulieren wird die deviceready Ereignis nie ausgelöst, und ich bekomme diese als Ausgang:

D/CordovaLog(1841): file:///android_asset/www/cordova.js: Line 1154 : deviceready has not fired after 5 seconds. 
D/CordovaLog(1841): file:///android_asset/www/cordova.js: Line 1147 : Channel not fired: onFileSystemPathsReady 

Einige zusätzliche Informationen:

cordova --version 
3.5.0-0.2.4 

javac -version 
javac 1.7.0_55 

java -version 
java version "1.7.0_55" 
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1~deb7u1) 
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode) 

index.html :

<!doctype html> 
<html> 
    <head> 
    </head> 
    <body> 

     <script src='cordova.js' type='text/javascript'></script> 
     <script src='index.js' type='text/javascript'></script> 
    </body> 
</html> 

index.js:

(function() { 

    "use strict"; 

    document.addEventListener("deviceready", function() { 
     console.log("Ready"); 
    }, false); 

}()); 

Ist das Cordova File Plugin defekt? Mache ich etwas falsch? Ist jemand anderes auf dieses Problem gestoßen und hat eine Lösung gefunden?

Antwort

4
+0

Vielen Dank. Ich werde es versuchen. – SimpleJ

+0

Ich glaube, das Problem wurde auch mit dem Repository von Apache behoben. Ich laufe nicht auf das Problem, wenn ich das Datei-Plugin von https://github.com/apache/cordova-plugin-file installiere. – SimpleJ

+1

Dieses Problem passiert mir zufällig auf Android. Wenn ich window.location.reload() anrufe, kann es manchmal kein Ereignis auslösen. Ich benutze [email protected] und probiere bereits [email protected] ohne Glück. Irgendwelche Ideen? –

5

Versuchen Sie, die 1.1.0 Version der Datei Plugin

Was für mich gearbeitet wurde hier eine andere Version der File-Plugin. Das Aktualisieren auf 1.2.0 war eine schlechte Idee.

cordova plugin add [email protected] 

Dies machte den Job für mich auf Android (und auf iOS hörte ich auf andere exotische Probleme haben).

+1

FYI: Wie Version 1.3.0 freigegeben wurde, habe ich es versucht und jetzt funktioniert es gut – ledfusion

+0

Dies war die Lösung für ich auch. Nachdem ich einen Tag lang mit Android Studio, Eclipse und CLI gequält hatte, war das das letzte, was ich lösen musste, um meine App wieder über Eclipse zu erstellen. Danke @ledfusion! –

+0

FWIW - Ich benutzte die 1.3.1dev und ich musste zurück zu 1.1.0 –

-1
You need to include cordova plugin before closing of body tag , so that cordova gets loaded properly before body loading completes. 


<!doctype html> 
<html> 
    <head> 
    </head> 
    <body> 

     <script src='cordova.js' type='text/javascript'></script> 
     <script src='index.js' type='text/javascript'></script> 
    </body> 
</html>