Я разработал ионное приложение, которое прекрасно работает в Chrome, но после генерации файла .apk оно не работает нормально. в режиме разработчика Chrome есть только предупреждение:
SVG SMIL animations (<animate>, <set>, etc.) are deprecated and will be removed. Please use CSS animations or Web animations instead.
Вот подробности:
После установки приложения на Android-устройство, оно запускается, но показывает только мой внешний вид:
У меня есть файл index.html, который является моим родительским представлением:
<!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>
Это мои функции запуска и настройки:
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'); });
Я не думаю, что это проблема маршрутизации, потому что я добавляю элемент в меню в родительском представлении и направляю его на первую страницу (app/home). Он идет туда, но угловая библиотека там не загружается, а значение связанного не отображается.
Наконец, я решу проблему. Я использую машинописный шрифт, и была какая-то проблема при впрыске в контроллеры. он отлично работает в браузере, но после создания файла apk он не работает нормально. для того, чтобы найти такую проблему, сначала мы можем использовать директиву "ng-strict-di":
<body dir="rtl" ng-app="Ehmco" ng-strict-di>
<ion-nav-view animation="slide-right-left"></ion-nav-view>
</body>
кроме того, после активации режима отладки usb нашего устройства мы можем запустить наше приложение по команде:
ionic run --device
И в
chrome://inspect/#devices
мы можем отлаживать наше приложение и рассматривать проблемы.
ionic run android --device
? Не начинайте с сборки выпуска, попробуйте сначала выполнить отладочную сборку.