Обновление Android
Это руководство показывает, как изменить проекты Android для обновления с более старых версий Cordova. Большинство этих инструкций применимы к проектам, созданным с помощью более старого набора инструментов командной строки, предшествующих cordova утилите командной строки. См. Интерфейс командной строки для получения информации о том, как обновить версию командной строки.
Обновление до 5.X.X
Лучший способ обновить до 5.X.X — просто удалить платформу Android из проекта и повторно добавить ее с новой версией. Например,
cordova platform remove android cordova platform add android@5.X.X
Если вы используете вышеуказанный метод, имейте в виду, что любые внесённые вами изменения в папку платформы android будут утеряны (редактирование содержимого этой папки не рекомендуется).
В качестве альтернативы, вы можете попробовать использовать скрипт обновления платформы. Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Для проектов, использующих командную строку:
Обновите версию
cordovaкомандной строки. См. Интерфейс командной строки.Выполните
cordova platform update android@5.0.0в существующих проектах.
Обновление плагинов для Android Marshmallow
Версия 5.0.0 добавляет поддержку уровня API Android 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
Использование Crosswalk WebView
По умолчанию ваше приложение продолжит использовать системный WebView, предоставляемый устройством. Если вы хотите использовать Crosswalk WebView вместо этого, просто добавьте плагин Crosswalk:
cordova plugin add cordova-plugin-crosswalk-webview
После добавления плагина ваше приложение получит установленный и правильно настроенный Crosswalk WebView.
Обновление до плагина 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, а не как 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 создание элемента ввода файла с типом «file» не откроет диалог выбора файла. Это регрессия с Chromium в Android, и проблема воспроизводится в автономном браузере Chrome на Android (см. http://code.google.com/p/android/issues/detail?id=62220). Предлагаемое решение — использовать плагины FileTransfer и File для Android 4.4. Вы можете прослушать событие onClick от типа ввода «file», а затем отобразить UI выбора файла. Чтобы связать данные формы с загрузкой, вы можете использовать JavaScript для добавления значений формы к многочастотному запросу POST, который выполняет FileTransfer.
Обновление до 3.1.0 с 3.0.0
Для проектов, созданных с помощью cordova CLI:
Обновите версию
cordovaкомандной строки. См. Интерфейс командной строки.Выполните
cordova platform update android
Для проектов, не созданных с помощью cordova CLI, выполните:
bin/update <project_path>
Обновление до CLI (3.0.0) с 2.9.0
Создайте новый проект Apache Cordova 3.0.0 с помощью cordova CLI, как описано в Интерфейсе командной строки.
Добавьте платформы в проект cordova, например:
cordova platform add android.Скопируйте содержимое каталога
wwwвашего проекта в каталогwwwв корне проекта cordova, который вы только что создали.Скопируйте все native ресурсы из старого проекта в соответствующие каталоги в
platforms/android: эта папка, где находится ваш native проект cordova-android.Используйте инструмент cordova CLI для установки необходимых плагинов. Обратите внимание, что CLI обрабатывает все основные API как плагины, поэтому их может потребоваться добавить. Плагины совместимы только с 3.0.0 CLI.
Обновление до 3.0.0 с 2.9.0
Создайте новый проект Apache Cordova Android.
Скопируйте содержимое каталога
wwwв новый проект.Скопируйте все native 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.3.0 до 2.4.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.2.0 до 2.3.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.1.0 до 2.2.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.0.0 до 2.1.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проекта.
Обновление с 1.9.0 до 2.0.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.8.1 до 1.9.0
Удалите
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.7.0 до 1.8.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.8.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.6.1 до 1.7.0
Удалите
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.0 до 1.6.1
Удалите
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.5.0 до 1.6.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.4.0 до 1.5.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.3.0 до 1.4.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.2.0 до 1.3.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.1.0 до 1.2.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.0.0 до 1.1.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.
Обновление с 0.9.6 до 1.0.0
Удалите
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/6.x/guide/platforms/android/upgrade.html