Я унаследовал приложение ionic 1, и у меня странная проблема с ним. Я обновил js lib (клиент paho mqtt), потому что это была старая версия с проблемами. Я протестировал обновление с большим количеством эмуляторов Android со всеми видами API. Все работает нормально.
Проблема в том, что когда я устанавливаю его на реальный телефон, он все еще использует старую библиотеку js. Но это происходит только на телефонах, на которых установлена предыдущая версия приложения. Если я устанавливаю его на любой телефон (независимо от версии Android), на котором никогда не было установлено приложение, все работает отлично.
Я думаю, что телефоны с этим приложением как-то кэшируют js lib или что-то в этом роде. ,Я очистил кеш приложения, данные, удалил его. Это не имеет значения.
Есть ли другой кэш, который я мог бы очистить?
Спасибо
Обновление
JSи CSS-файлы объединяются в один файл. Вот что у меня есть в gruntfile:
// concat all the scripts in one and all the styles in one
concat: {
options: {
separator: ''
}
,
'scripts': {
src: [
'app/js/app.js',
'app/js/controllers/*.js',
'app/js/services/*.js',
'app/js/filters/*.js',
'app/js/directives/*.js',
],
dest: 'www/scripts/scripts<%= grunt.option(\"timestamp\") %>.min.js',
}
,
'libraries': {
src: [
'app/libraries/ionic/js/ionic.bundle.min.js',
'app/libraries/angular-material/angular-material.js',
'app/libraries/ion-datetime-picker/ion-datetime-picker.min.js',
'app/libraries/angular/angular-aria.js',
'app/libraries/angular/angular-filter.js',
'app/libraries/angular/angular-translate.js',
'app/libraries/moment.js',
'app/libraries/moment-timer.js',
'app/libraries/leaflet/leaflet.js',
'app/libraries/oms.min.js',
'app/libraries/mqtt31.js',
'app/libraries/angular-cookies.min.js',
'app/libraries/dropzone/dropzone.js',
'app/libraries/dropzone/ngdropzone/ng-dropzone.min.js',
],
dest: 'www/scripts/libraries.min.js',
}
,
'styles': {
src: [
'app/libraries/ionic/css/ionic.min.css',
'app/libraries/angular-material/angular-material.css',
'app/libraries/ion-datetime-picker/ion-datetime-picker.min.css',
'app/libraries/leaflet/leaflet.css',
'app/libraries/magic.css',
'app/libraries/dropzone/ngdropzone/dropzone.css',
'app/libraries/dropzone/ngdropzone/ng-dropzone.min.css',
'app/css/*.css',
],
dest: 'www/resources/css/styles<%= grunt.option(\"timestamp\") %>.min.css',
}
,
'libsAndScripts': {
src: [
'www/scripts/libraries.min.js',
'www/scripts/scripts<%= grunt.option(\"timestamp\") %>.min.js',
],
dest: 'www/scripts/scripts<%= grunt.option(\"timestamp\") %>.min.js',
}
}
Затем полученный файл js включается в приложение из index.html
:
<script src="scripts/scripts1570989249364.min.js"></script>