2016-04-21 6 views
0

J'ai développé une application ionique qui fonctionne très bien en chrome, mais après la génération de fichier .apk, il ne fonctionne pas bien. il n'y a qu'un avertissement en mode développeur chrome:Application ionique fonctionne vrai sur le navigateur, mais ne fonctionne pas bien dans mon appareil Android

SVG's SMIL animations (<animate>, <set>, etc.) are deprecated and will be removed. Please use CSS animations or Web animations instead. 

voici les détails:

  1. J'utilise seulement ng-cordova plug-in et maps.google.
  2. J'utilise tapuscrit
  3. J'ai utilisé http://ionicframework.com/docs/guide/publishing.html pour générer .apk.

après avoir installé l'application sur l'appareil Android, il fonctionne, mais il ne montre que mon point de vue de Parrent:

J'ai un fichier index.html qui est mon point de vue parent:

<!DOCTYPE html> <html> <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 
    <title></title> 

    <!-- ionic/angularjs js --> 
    <script src="lib/ionic/js/ionic.bundle.js"></script> 


    <script src="lib/ngCordova/dist/ng-cordova.js"></script> 
    <script src="cordova.js"></script> 

    <script src="http://maps.google.com/maps/api/js?key=My_Api_Kei"></script> 

    <script src="my_apps_js"></script> </head> 

<body dir="rtl" ng-app="appName"> 
    <ion-nav-view animation="slide-right-left"></ion-nav-view> </body> </html> 

c'est ma course et fonctions config:

export var ehmcoModule = angular.module('ModuleName', ['ionic', 'ngCordova']); 

    ehmcoModule.run(function($ionicPlatform: ionic.platform.IonicPlatformService) { 
    $ionicPlatform.ready(function() { 

     if (window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     cordova.plugins.Keyboard.disableScroll(true); 
     } 
     if (window.StatusBar) { 
      //org.apache.cordova.statusbar required 
     StatusBar.styleDefault(); 
     } 
    }); }); 

    ehmcoModule.config(function($stateProvider: ng.ui.IStateProvider, $urlRouterProvider: ng.ui.IUrlRouterProvider) { 
    $stateProvider 
     .state('app', { 
     url: '/app', 
     abstract: true, 
     templateUrl: 'templates/menu.html', 
     controller: Controllers.EhmcoController.controllerName 
     }) 
     .state('app.home', { 
     url: '/home', 
     views: { 
      'menuContent': { 
      templateUrl: 'templates/home.html', 
      controller:Controllers.HomeController.controllerName 
      } 
     } 
     }) 
     .state('app.category', { 
      url: '/category', 
      views: { 
       'menuContent': { 
        templateUrl: 'templates/category.html', 
        controller:Controllers.CategoryController.controllerName 
       } 
      } 
     }) 


    $urlRouterProvider.otherwise('/app/home'); }); 

Je ne pense pas que ce soit un problème de routage parce que j'ajouter un élément au menu en vue parent et l'acheminer vers la première page (app/home). il va là mais la bibliothèque angulaire ne charge pas là et la valeur liée ne s'affiche pas.

+0

Avez-vous essayé, juste pour exécuter 'ionic run android --device'? Ne commencez pas avec la version release, essayez d'abord de créer une version de débogage. –

+0

oui je l'ai essayé. l'application démarre dans le même état que je décris ci-dessus. – navid

+0

ceci est un bon article sur de tels problèmes (mais cela ne résout pas mon problème): http://gonehybrid.com/how-to-debug-the-white-screen-of-death-in-your-ionic- app/ – navid

Répondre

0

Enfin, je résous le problème. J'utilise tapuscrit et il y avait un certain problème dans l'injection dans les contrôleurs. cela fonctionne très bien dans le navigateur, mais après avoir généré le fichier apk, il ne fonctionne pas bien. afin de trouver un tel problème d'abord, nous pouvons utiliser la directive « ng stricte-di »:

<body dir="rtl" ng-app="Ehmco" ng-strict-di> 
    <ion-nav-view animation="slide-right-left"></ion-nav-view> 
    </body> 

en plus de après avoir activé le mode de débogage USB de notre appareil, nous pouvons exécuter notre application par commande:

ionic run --device 

et

chrome://inspect/#devices 

nous pouvons déboguer notre application et voir les problèmes.