2014-10-29 6 views
1

Я пытаюсь сделать приложение Famo.us/Angular и создать приложение для Android с Кордовой. Я использую стартовый набор (http://famo.us/integrations/angular/#/download) и сделаны только некоторые незначительные изменения, чтобы построить с ворчанием:Белая страница с Famo.us/Ангулярный стартовый комплект на приложении Cordova

Чтобы построить приложение, я сделать следующие команды: - Беседки установка - cordovacli строить - cordovacli запустить

Построение сделано, и все, кажется, работает нормально. Но когда приложение запускается на устройстве Android, у меня есть белая страница. В журналах я есть это:

D/CordovaLog(8978): file:///android_asset/www/bower_components/famous/famous-global.js: Line 434 : Uncaught TypeError: Object [object DOMWindow] has no method 'requestAnimationFrame' 

E/Web Console(8978): Uncaught TypeError: Object [object DOMWindow] has no method 'requestAnimationFrame':434 

D/CordovaLog(8978): file:///android_asset/www/bower_components/angular/angular.js: Line 3906 : Uncaught Error: [$injector:modulerr] Failed to instantiate module integrationApp due to: 

D/CordovaLog(8978): Error: [$injector:modulerr] Failed to instantiate module famous.angular due to: 

D/CordovaLog(8978): ReferenceError: famous is not defined 

D/CordovaLog(8978):  at new <anonymous> (file:///android_asset/www/bower_components/famous-angular/dist/famous-angular.js:21:28) 

D/CordovaLog(8978):  at invoke (file:///android_asset/www/bower_components/angular/angular.js:3966:17) 

D/CordovaLog(8978):  at Object.instantiate (file:///android_asset/www/bower_components/angular/angular.js:3977:23) 

D/CordovaLog(8978):  at provider (file:///android_asset/www/bower_components/angular/angular.js:3833:36) 

D/CordovaLog(8978):  at Object.provider (file:///android_asset/www/bower_components/angular/angular.js:3825:16) 

D/CordovaLog(8978):  at file:///android_asset/www/bower_components/angular/angular.js:3885:37 

D/CordovaLog(8978):  at forEach (file:///android_asset/www/bower_components/angular/angular.js:325:18) 

D/CordovaLog(8978):  at loadModules (file:///android_asset/www/bower_components/angular/angular.js:3872:5) 

D/CordovaLog(8978):  at file:///android_asset/www/bower_components/angular/angular.js:3879:40 

D/CordovaLog(8978):  at forEach (file:///android_asset/www/bower_components/angular/angular.js:325:18) 

D/CordovaLog(8978): http://errors.angularjs.org/1.2.26/$injector/modulerr?p0=famous.angular&p1=ReferenceError%3A%20famous%20is%20not%20defined%0A%20%20%20%20at%20new%20%3Canonymous%3E%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Ffamous-angular%2Fdist%2Ffamous-angular.js%3A21%3A28)%0A%20%20%20%20at%20invoke%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A3966%3A17)%0A%20%20%20%20at%20Object.instantiate%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A3977%3A23)%0A%20%20%20%20at%20provider%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A3833%3A36)%0A%20%20%20%20at%20Object.provider%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A3825%3A16)%0A%20%20%20%20at%20file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A3885%3A37%0A%20%20%20%20at%20forEach%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A325%3A18)%0A%20%20%20%20at%20loadModules%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A3872%3A5)%0A%20%20%20%20at%20file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A3879%3A40%0A%20%20%20%20at%20forEach%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Fbower_components%2Fangular%2Fangular.js%3A325%3A18) 

Если я взглянуть на index.html, известный включен и путь хорош:

<!-- bower:js --> 
    <script src="bower_components/underscore/underscore.js"></script> 
    <script src="bower_components/angular/angular.js"></script> 
    <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script> 
    <script src="bower_components/angular-touch/angular-touch.js"></script> 

    <script src="bower_components/famous/famous-global.js"></script> 
    <script src="bower_components/famous-angular/dist/famous-angular.js"></script> 
    <!-- endbower --> 

Я чувствую, что «известные-angular.js» делать не найти «знаменитый», но он включен в «famous-global.js».

PS: Если я построю его в своем веб-браузере, он отлично работает.

Есть ли у кого-нибудь идеи? Поделись, пожалуйста.

+2

Какой версией Android вы используете? Похоже, '' 'requestAnimationFrame'' доступен только с Android 4.4 http://caniuse.com/#feat=requestanimationframe – pasine

+0

Вы правы! Я тестировал свое приложение на Android 4.2, и у меня эти ошибки. Затем я тестировал Android 4.4, и все хорошо. –

ответ

2

Благодаря помощи @pasine.

Источником проблемы является версия android.

'requestAnimationFrame' поддерживается только версией Android 4.4. Следующие ошибки, возникающие из-за первого.

У меня нет этих ошибок в android 4.4.

Famo.us напоминание о совместимости:

  • IOS: 4.3+
  • Android: JellyBean +

Есть обходные пути для этой проблемы: