2016-04-21 8 views
0

Ich habe eine ionische Anwendung, die es funktioniert gut in Chrom entwickelt, aber nach dem Generieren von .apk-Datei funktioniert es nicht gut. gibt es nur eine Warnung in Chrom Entwicklermodus:Ionic App funktioniert auf Browser aber funktioniert nicht gut in meinem Android-Gerät

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

hier sind die Details:

  1. ich nur mit ng-cordova Plugin und maps.google.
  2. Ich verwende Typoskript
  3. Ich habe http://ionicframework.com/docs/guide/publishing.html zum Generieren von .apk verwendet.

nach der Anwendung auf Android-Gerät installieren, es läuft, aber es zeigt nur meine parrent Ansicht:

ich eine index.html-Datei, die meine Eltern Ansicht ist:

<!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> 

dies meine Sicht und Konfigurationsfunktionen:

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'); }); 

ich glaube nicht, dass dies ein Routing-Problem ist, weil ich ein Element zum Menü in übergeordneter Ansicht hinzufügen und leite es auf die erste Seite (App/Home). Es geht dorthin, aber die angulare Bibliothek wird nicht geladen und der binded Wert wird nicht angezeigt.

+0

Haben Sie versucht, nur 'ionic run android --device' laufen zu lassen? Beginnen Sie nicht mit dem Release-Build, versuchen Sie zuerst, einen Debug-Build zu erstellen. –

+0

ja ich habe es versucht. Die Anwendung startet in demselben Zustand, den ich oben beschrieben habe. – navid

+0

Dies ist ein guter Artikel über solche Probleme (aber es löst nicht mein Problem): http://gonehybrid.com/how-to-debug-the-white-screen-of-death-in-your-ionic- app/ – navid

Antwort

0

Endlich löse ich das Problem. Ich verwende Typoskript und es gab ein Problem bei der Injektion in Controller. Es funktioniert gut im Browser, aber nach dem Generieren von APK-Datei funktioniert es nicht gut. , um ein solches Problem finden erste können wir Richtlinie ‚ng-strict-di‘ verwenden:

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

neben der, dass nach USB-Debugging-Modus unseres Gerätes aktiviert haben, können wir unsere Anwendung durch Befehl ausführen:

ionic run --device 

und in

chrome://inspect/#devices 

können wir unsere Anwendung debuggen und die Probleme anzuzeigen.

Verwandte Themen