Обновление Android
Это руководство показывает, как изменить проекты Android для обновления с более старых версий Cordova. Большинство этих инструкций применимы к проектам, созданным с более ранними наборами командных инструментов, которые предшествуют инструменту командной строки cordova. Обратитесь к разделу Интерфейс командной строки для получения информации об обновлении версии командной строки.
Обновление до 7.X.X
Лучший способ обновления до 7.X.X — просто удалить платформу Android из проекта и добавить её снова с новой версией. Например,
cordova platform remove android cordova platform add android@7.X.X
Если вы используете вышеописанный метод, помните, что любые изменения, внесённые в папку android platform, будут потеряны (редактирование содержимого этой папки не рекомендуется).
К сожалению, из-за изменения структуры файлов проекты, не использующие командную строку, потребуют ручного обновления или создания нового проекта Cordova и переноса файлов в новый проект. Это связано с миграцией в Android Studio.
Обновление до 6.X.X
Лучший способ обновления до 6.X.X — просто удалить платформу Android из проекта и добавить её снова с новой версией. Например,
cordova platform remove android cordova platform add android@6.X.X
Если вы используете вышеописанный метод, помните, что любые изменения, внесённые в папку android platform, будут потеряны (редактирование содержимого этой папки не рекомендуется).
В качестве альтернативы, вы можете попробовать использовать скрипт обновления платформы. Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Обновление до 5.X.X
Лучший способ обновления до 5.X.X — просто удалить платформу Android из проекта и добавить её снова с новой версией. Например,
cordova platform remove android cordova platform add android@5.X.X
Если вы используете вышеописанный метод, помните, что любые изменения, внесённые в папку android platform, будут потеряны (редактирование содержимого этой папки не рекомендуется).
В качестве альтернативы, вы можете попробовать использовать скрипт обновления платформы. Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Для проектов, использующих командную строку:
Обновите версию командной строки
cordova. Обратитесь к разделу Интерфейс командной строки.Выполните
cordova platform update android@5.0.0в ваших существующих проектах.
Обновление плагинов для Android Marshmallow
Версия 5.0.0 добавляет поддержку Android API уровня 23 (Marshmallow). Android Marshmallow представил новую модель разрешений, которая может потребовать обновления некоторых установленных плагинов для обеспечения совместимости с новыми телефонами. Более старые версии плагинов, которые не обрабатывают разрешения должным образом, могут привести к неожиданному завершению работы приложения. Обратите внимание, что это не затрагивает каждый плагин, а только те, которые обращаются к разрешениям Android, считающимся опасными (см. таблицу опасных разрешений).
Следующие основные плагины затронуты этим изменением и должны быть обновлены для использования с cordova-android 5.0.0+:
| Плагин | Минимальная совместимая версия |
|---|---|
| cordova-plugin-camera | 2.0.0 |
| cordova-plugin-contacts | 2.0.0 |
| cordova-plugin-file | 4.0.0 |
| cordova-plugin-geolocation | 2.0.0 |
| cordova-plugin-media | 2.0.0 |
Для плагинов, не являющихся основными, вы можете проверить, запрашивает ли плагин опасное разрешение, проверив файл plugin.xml плагина. Если плагин использует разрешения Android, вы увидите записи в plugin.xml, которые их объявляют. Например:
<uses-permission android:name="android.permission.PERMISSION_NAME" />
Где PERMISSION_NAME заменяется именем разрешения Android. Файл plugin.xml можно найти в папке плагина в вашем проекте Cordova (например, plugins/example-plugin/plugin.xml). Обратитесь к документации любых плагинов, использующих опасные разрешения, чтобы определить, какие шаги необходимо предпринять для обеспечения совместимости с cordova-android 5.0.0+.
Обновление до 4.0.0
Требуются определенные шаги обновления для использования значительных изменений в версии 4.0.0. Сначала необходимы общие шаги обновления, как указано ниже.
Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Для проектов, использующих командную строку:
Обновите версию командной строки
cordova. Обратитесь к разделу Интерфейс командной строки.Выполните
cordova platform update android@4.0.0в ваших существующих проектах.
Обновление списка разрешенных действий
Вся функциональность списка разрешенных действий теперь реализована через плагин. Без плагина ваше приложение больше не защищено списком разрешенных действий после обновления до 4.0.0. Cordova имеет два плагина списка разрешенных действий, которые предоставляют разные уровни защиты.
-
Плагин
cordova-plugin-whitelist(РЕКОМЕНДУЕТСЯ)- Этот плагин настоятельно рекомендуется, так как он более безопасен и настраиваем, чем список разрешенных действий в предыдущих версиях
- См. cordova-plugin-whitelist для получения подробной информации о необходимых изменениях конфигурации
- Выполните:
cordova plugin add cordova-plugin-crosswalk-webview
-
Плагин
cordova-plugin-legacy-whitelist- Этот плагин обеспечивает такой же список разрешенных действий, как и в предыдущих версиях. См. cordova-plugin-legacy-whitelist
- Изменения конфигурации не требуются, но он обеспечивает меньшую защиту, чем рекомендуемый плагин
- Выполните:
cordova plugin add cordova-plugin-legacy-whitelist
Использование WebView Crosswalk
По умолчанию ваше приложение будет продолжать использовать системный WebView, предоставленный устройством. Если вы хотите использовать WebView Crosswalk вместо этого, просто добавьте плагин Crosswalk:
cordova plugin add cordova-plugin-crosswalk-webview
После добавления плагина ваше приложение получит установленный и правильно настроенный WebView Crosswalk.
Обновление до плагина Splashscreen
Если ваше приложение использует экран загрузки, эта функциональность была перенесена в плагин. Опции конфигурации для экранов загрузки не изменились. Единственный шаг обновления, необходимый для добавления плагина:
cordova plugin add cordova-plugin-splashscreen
Обновление до 3.7.1 с 3.6.0
Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Для проектов, использующих командную строку:
Обновите версию командной строки
cordova. Обратитесь к разделу Интерфейс командной строки.Выполните
cordova platform update androidв ваших существующих проектах.
Обновление до 3.3.0 с 3.2.0
Следуйте тем же инструкциям, что и для 3.2.0.
Начиная с версии 3.3.0, среда выполнения Cordova теперь компилируется как Android Library вместо Jar. Это не должно повлиять на использование командной строки, но пользователям IDE необходимо импортировать недавно добавленный проект MyProject-CordovaLib в свою рабочую область.
Обновление до 3.2.0 с 3.1.0
Для проектов, созданных с помощью cordova CLI:
Обновите версию командной строки
cordova. Обратитесь к разделу Интерфейс командной строки.Выполните
cordova platform update android
Для проектов, не созданных с помощью cordova CLI, выполните:
bin/update <project_path>
ПРЕДУПРЕЖДЕНИЕ: В Android 4.4 - Android 4.4.3 создание элемента ввода файла с type="file" не откроет диалог выбора файла. Это регрессия с Chromium на Android, и проблема может быть воспроизведена в отдельном браузере Chrome на Android (см. http://code.google.com/p/android/issues/detail?id=62220) Предлагаемое решение — использовать плагины FileTransfer и File для Android 4.4. Вы можете прослушивать событие onClick от input type="file" и затем выводить UI выбора файла. Чтобы связать данные формы с загрузкой, вы можете использовать JavaScript для добавления значений формы к многочастотному запросу POST, который отправляет FileTransfer.
Обновление до 3.1.0 с 3.0.0
Для проектов, созданных с помощью cordova CLI:
Обновите версию командной строки
cordova. Обратитесь к разделу Интерфейс командной строки.Выполните
cordova platform update android
Для проектов, не созданных с помощью cordova CLI, выполните:
bin/update <project_path>
Обновление до командной строки (3.0.0) с 2.9.0
Создайте новый проект Apache Cordova 3.0.0 с помощью cordova CLI, как описано в Интерфейс командной строки.
Добавьте ваши платформы в проект cordova, например:
cordova platform add android.Скопируйте содержимое каталога вашего проекта
wwwв каталогwwwв корне проекта cordova, который вы только что создали.Скопируйте любые собственные ресурсы из вашего старого проекта в соответствующие каталоги в
platforms/android: этот каталог — местоположение вашего нативного проекта cordova-android.Используйте инструмент командной строки cordova CLI для установки необходимых плагинов. Обратите внимание, что CLI обрабатывает все основные API как плагины, поэтому их может потребоваться добавить. Только плагины 3.0.0 совместимы с CLI.
Обновление до 3.0.0 с 2.9.0
Создайте новый проект Apache Cordova Android.
Скопируйте содержимое каталога
wwwв новый проект.Скопируйте любые нативные ресурсы Android из каталога
resв новый проект.Скопируйте плагины, которые вы установили, из подкаталогов
srcв новый проект.Убедитесь, что вы обновили все устаревшие ссылки
<plugin>из вашего старого файлаconfig.xmlна новую спецификацию<feature>.Обновите все ссылки на пакет
org.apache.cordova.apiнаorg.apache.cordova.
ПРИМЕЧАНИЕ: все основные API были удалены и должны быть установлены как плагины. Для получения подробной информации см. руководство Использование Plugman для управления плагинами.
Обновление до 2.9.0 с 2.8.0
- Выполните
bin/update <project_path>.
Обновление до 2.8.0 с 2.7.0
Удалите
cordova-2.7.0.jarиз каталога проектаlibs.Добавьте
cordova-2.8.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova.jsв свой проект.Обновите ваш HTML, чтобы использовать новый файл
cordova.js.Скопируйте файл
res/xml/config.xml, чтобы соответствоватьframework/res/xml/config.xml.Обновите
framework/res/xml/config.xml, чтобы иметь аналогичные настройки, как и ранее.Скопируйте файлы из
bin/templates/cordovaв каталог проектаcordova.
Обновление до 2.7.0 с 2.6.0
Удалите
cordova-2.6.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.7.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.7.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.7.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Обновите
framework/res/xml/config.xml, чтобы настройки были аналогичны предыдущим.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.6.0 с 2.5.0
Удалите
cordova-2.5.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.6.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.6.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.6.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Обновите
framework/res/xml/config.xml, чтобы настройки были аналогичны предыдущим.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Запустите bin/update <project> с путем к проекту, указанным в каталоге исходного кода Cordova.
Обновление до 2.5.0 с 2.4.0
Удалите
cordova-2.4.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.5.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.5.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.5.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Обновите
framework/res/xml/config.xml, чтобы настройки были аналогичны предыдущим.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.4.0 с 2.3.0
Удалите
cordova-2.3.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.4.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.4.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.4.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.3.0 с 2.2.0
Удалите
cordova-2.2.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.3.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.3.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.3.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.2.0 с 2.1.0
Удалите
cordova-2.1.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.2.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.2.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.2.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.1.0 с 2.0.0
Удалите
cordova-2.0.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.1.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.1.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.1.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.0.0 с 1.9.0
Удалите
cordova-1.9.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.0.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.0.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.0.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.
В релизе 2.0.0 файл config.xml объединяет и заменяет файлы cordova.xml и plugins.xml. Старые файлы устарели, и хотя они всё ещё работают в 2.0.0, они перестанут работать в будущих выпусках.
Обновление до 1.9.0 с 1.8.1
Удалите
cordova-1.8.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.9.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.9.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.9.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Из-за введения CordovaWebView в релизе 1.9.0, плагины сторонних разработчиков могут не работать. Эти плагины должны получить контекст из CordovaInterface с помощью getContext() или getActivity(). Если вы не опытный разработчик Android, обратитесь к автору плагина и добавьте эту задачу в их систему отслеживания ошибок.
Обновление до 1.8.0 с 1.8.0
Удалите
cordova-1.8.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.8.1.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.8.1.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.8.1.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.8.0 с 1.7.0
Удалите
cordova-1.7.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.8.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.8.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.8.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.8.0 с 1.7.0
Удалите
cordova-1.7.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.8.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.8.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.8.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.7.0 с 1.6.1
Удалите
cordova-1.6.1.jarиз каталогаlibsпроекта.Добавьте
cordova-1.7.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.7.0.jsв свой проект.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.6.1 с 1.6.0
Удалите
cordova-1.6.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.6.1.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.6.1.jsв свой проект.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.6.0 с 1.5.0
Удалите
cordova-1.5.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.6.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.6.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.6.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.Замените
res/xml/phonegap.xmlнаres/xml/cordova.xml, чтобы соответствоватьframework/res/xml/cordova.xml.
Обновление до 1.5.0 с 1.4.0
Удалите
phonegap-1.4.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.5.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.5.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.5.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.Замените
res/xml/phonegap.xmlнаres/xml/cordova.xml, чтобы соответствоватьframework/res/xml/cordova.xml.
Обновление до 1.4.0 с 1.3.0
Удалите
phonegap-1.3.0.jarиз каталога проектаlibs.Добавьте
phonegap-1.4.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.4.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.4.0.js.Обновите
res/xml/plugins.xmlдля соответствияframework/res/xml/plugins.xml.Обновите
res/xml/phonegap.xmlдля соответствияframework/res/xml/phonegap.xml.
Обновление до 1.3.0 с 1.2.0
Удалите
phonegap-1.2.0.jarиз каталога проектаlibs.Добавьте
phonegap-1.3.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.3.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.2.0.js.Обновите
res/xml/plugins.xmlдля соответствияframework/res/xml/plugins.xml.Обновите
res/xml/phonegap.xmlдля соответствияframework/res/xml/phonegap.xml.
Обновление до 1.2.0 с 1.1.0
Удалите
phonegap-1.1.0.jarиз каталога проектаlibs.Добавьте
phonegap-1.2.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.2.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.2.0.js.Обновите
res/xml/plugins.xmlдля соответствияframework/res/xml/plugins.xml.Обновите
res/xml/phonegap.xmlдля соответствияframework/res/xml/phonegap.xml.
Обновление до 1.1.0 с 1.0.0
Удалите
phonegap-1.0.0.jarиз каталога проектаlibs.Добавьте
phonegap-1.1.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.1.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.1.0.js.Обновите
res/xml/plugins.xmlдля соответствияframework/res/xml/plugins.xml.
Обновление до 1.0.0 с 0.9.6
Удалите
phonegap-0.9.6.jarиз каталога проектаlibs.Добавьте
phonegap-1.0.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.0.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.0.0.js.Добавьте
res/xml/plugins.xmlдля соответствияframework/res/xml/plugins.xml.
© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/8.x/guide/platforms/android/upgrade.html