Return-Path: X-Original-To: apmail-cordova-commits-archive@www.apache.org Delivered-To: apmail-cordova-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 685AE18D41 for ; Thu, 25 Jun 2015 22:13:38 +0000 (UTC) Received: (qmail 62066 invoked by uid 500); 25 Jun 2015 22:13:38 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 61994 invoked by uid 500); 25 Jun 2015 22:13:38 -0000 Mailing-List: contact commits-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list commits@cordova.apache.org Received: (qmail 61564 invoked by uid 99); 25 Jun 2015 22:13:38 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Jun 2015 22:13:38 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id CBE88E36BD; Thu, 25 Jun 2015 22:13:37 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: steven@apache.org To: commits@cordova.apache.org Date: Thu, 25 Jun 2015 22:13:44 -0000 Message-Id: In-Reply-To: <2d64392dbfc64adeab1075147b644bb6@git.apache.org> References: <2d64392dbfc64adeab1075147b644bb6@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [08/12] docs commit: added Russian 5.1.1 docs http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5846f316/docs/ru/5.1.1/guide/platforms/amazonfireos/webview.md ---------------------------------------------------------------------- diff --git a/docs/ru/5.1.1/guide/platforms/amazonfireos/webview.md b/docs/ru/5.1.1/guide/platforms/amazonfireos/webview.md new file mode 100644 index 0000000..fb00596 --- /dev/null +++ b/docs/ru/5.1.1/guide/platforms/amazonfireos/webview.md @@ -0,0 +1,125 @@ +--- +license: Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--- + +# WebView в Amazon Fire OS + +Начиная с 3.3.0, Cordova можно использовать в качестве компонента приложений Amazon Fire OS. Amazon Fire ОС ссылается на этот компонент как `CordovaWebView` . `CordovaWebView` расширяет Amazon WebView, который построен на открытом исходном коде проекта Chromium. Используя эту функцию, веб-приложений можно использовать последние веб-стандарты HTML5, работающие в современной веб среде. + +Если вы не знакомы с Amazon Fire ОС, необходимо сначала ознакомиться с разделом "Руководство для платформы Amazon Fire OS" и установить последнюю SDK, прежде чем пытаться использовать такой более необычный вариант как встраивания WebView. + +## Необходимые условия + +* Кордова 3.3.0 или больше + +* Android SDK, последней версии + +* Amazon WebView SDK + +## Руководство по использованию CordovaWebView в проекте OS Amazon Fire + +1. Следовать этим инструкциям, убедитесь, что у вас есть дистрибутив последней Кордова. Скачать его с [cordova.apache.org][1] и распакуйте его пакет Amazon Fire OS. + +2. Скачать и распаковать [Amazon WebView SDK][2], затем скопируйте awv_interface.jar в каталог `/framework/libs`. Создайте каталог libs/, если он не существует. + +3. Перейдите к пакету `/framework` директорию и запустить `ant jar` . Он создаёт Кордова `.jar` файл, как`/framework/cordova-x.x.x.jar`. + +4. Скопируйте файл `.jar` в каталог `/libs` Android-проекта. + +5. Добавьте в приложение следующий файл `/res/xml/main.xml`, с `layout_height`, `layout_width` и `id` модицифированными в соответствии с нуждами приложения: + + + +6. Измените вашу деятельность так, чтобы этот класс реализовал `CordovaInterface` . Вы должны реализовать описанные методы этого интерфейса. Вы можете скопировать их из `/framework/src/org/apache/cordova/CordovaActivity.java`, или реализовать их самостоятельно. Нижеуказанный фрагмент кода показывает простое приложение , которое использует интерфейс. Обратите внимание, что id упоминаемого окна соответствует `id` атрибут, указанный в XML-фрагменте показаном выше: + + public class CordovaViewTestActivity extends Activity implements CordovaInterface { + CordovaWebView cwv; + /* Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + cwv = (CordovaWebView) findViewById(R.id.tutorialView); + Config.init(this); + cwv.loadUrl(Config.getStartUrl()); + } + + + [1]: http://cordova.apache.org + [2]: https://developer.amazon.com/sdk/fire/IntegratingAWV.html#installawv + +Если вы используете камеру, следует также реализовать следующее: + + @Override + public void setActivityResultCallback(CordovaPlugin plugin) { + this.activityResultCallback = plugin; + } + /** + * Launch an activity for which you would like a result when it finished. When this activity exits, + * your onActivityResult() method is called. + * + * @param command The command object + * @param intent The intent to start + * @param requestCode The request code that is passed to callback to identify the activity + */ + public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode) { + this.activityResultCallback = command; + this.activityResultKeepRunning = this.keepRunning; + + // If multitasking turned on, then disable it for activities that return results + if (command != null) { + this.keepRunning = false; + } + + // Start activity + super.startActivityForResult(intent, requestCode); + } + + @Override + /** + * Called when an activity you launched exits, giving you the requestCode you started it with, + * the resultCode it returned, and any additional data from it. + * + * @param requestCode The request code originally supplied to startActivityForResult(), + * allowing you to identify who this result came from. + * @param resultCode The integer result code returned by the child activity through its setResult(). + * @param data An Intent, which can return result data to the caller (various data can be attached to Intent "extras"). + */ + protected void onActivityResult(int requestCode, int resultCode, Intent intent) { + super.onActivityResult(requestCode, resultCode, intent); + CordovaPlugin callback = this.activityResultCallback; + if (callback != null) { + callback.onActivityResult(requestCode, resultCode, intent); + } + } + + +Наконец, не забудьте добавить пул потоков, в противном случае у плагинов не будет потоков где можно будет выполняться: + + @Override + public ExecutorService getThreadPool() { + return threadPool; + } + + +1. Скопировать HTML и JavaScript файлы приложения в каталог `/assets/www` проекта Amazon Fire OS. + +2. Скопируйте `config.xml` из `/framework/res/xml` для в каталог `/res/xml` вашего проекта. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5846f316/docs/ru/5.1.1/guide/platforms/android/config.md ---------------------------------------------------------------------- diff --git a/docs/ru/5.1.1/guide/platforms/android/config.md b/docs/ru/5.1.1/guide/platforms/android/config.md new file mode 100644 index 0000000..a82b3f7 --- /dev/null +++ b/docs/ru/5.1.1/guide/platforms/android/config.md @@ -0,0 +1,80 @@ +--- +license: Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--- + +# Конфигурация Android + +Файл `config.xml` управляет основные параметрами приложения, которые применяются к каждому приложению и экземпляру CordovaWebView. Этот раздел описывает настройки, которые применяются только к построениям для Android. Смотрите [Файл config.xml][1] для получения информации о глобальных параметрах конфигурации. + + [1]: config_ref_index.md.html#The%20config.xml%20File + +* `KeepRunning` (логическое значение, по умолчанию `true` ): определяет, остается ли приложение работает в фоновом режиме после вызова события `pause`. Установка значения в `false` не завершает приложение после события `pause`, но просто останавливает выполнение кода в Cordova WebView в то время пока приложение находится в фоновом режиме. + + + +* `LoadUrlTimeoutValue` (число, значение по умолчанию — `20000`): при загрузке страницы, указывает продолжительность времени ожидания в миллисекундах, перед тем как произойдет ошибка ожидания. Этот пример определяет 10 секунд, а не 20: + + + +* `SplashScreen`(строка, по умолчанию `splash`): Имя файла, минус его расширение в каталоге `res/drawable`. Различные ресурсы должны использовать это общее название в разных подкаталогах. + + + +* `SplashScreenDelay` (число, значение по умолчанию `3000`): определяет количество времени в течение которого отображается заставка. + + + +* `InAppBrowserStorageEnabled` (логическое значение, по умолчанию `true`): Контролирует имеют ли страницы открытые в InAppBrowser возможность получить доступ к тому же хранилищу localStorage и WebSQL, что и страницы открытые с помощью браузера по умолчанию. + + + +* `LoadingDialog` (строка, по умолчанию `null`): Если указано, отображает диалоговое окно с заданным заголовком и сообщение и индикатор загрузки, при загрузке первой странице приложения. Заголовок и сообщение разделяются запятой в этой строке значение, и что запятая удаляется перед отображением диалогового окна. + + + +* `LoadingPageDialog` (строки, по умолчанию `null`): так же, как `LoadingDialog`, но для загрузки каждой страницы следующей за первой страницей в приложении. + + + +* `ErrorUrl` (URL-адрес, По умолчанию используется `null`): Если установлено, будет отображаться странице ссылки на ошибку в приложении вместо диалоговое окно с заголовком «Ошибка приложения». + + + +* `ShowTitle` (логическое значение, по умолчанию `false`): Показать заголовок в верхней части экрана. + + + +* `LogLevel` (строка, по умолчанию `ERROR` ): устанавливает минимальный уровень протоколирования, через который будет фильтроваться протоколируемые сообщения из вашего приложения. Допустимыми значениями являются `ERROR`, `WARN`, `INFO`, `DEBUG`, и `VERBOSE`. + + + +* `SetFullscreen` (логическое значение, по умолчанию `false`): то же, что параметр `Fullscreen` в глобальной конфигурации этого XML-файла. Этот элемент специфический для Android элемент считается устаревшим и замененным глобальным элементом `Fullscreen` и будет удален в будущей версии. + +* `AndroidLaunchMode`(строки, по умолчанию `singleTop` ): задает действие `android:launchMode` атрибут. Это меняет то, что происходит, когда приложение запускается из приложения значок или намерения и уже работает. Допустимыми значениями являются `standard` , `singleTop` , `singleTask` ,`singleInstance`. + + + +* `DefaultVolumeStream`(строки, по умолчанию `default` , добавил в Кордова android 3.7.0): устанавливает объем которых объем аппаратные кнопки ссылка на. По умолчанию это «вызов» для «СМИ» для планшетов и телефонов. Установите это для «медиа», чтобы иметь всегда изменить громкость медиа кнопки громкости вашего приложения. Обратите внимание, что при использовании плагина Кордова в СМИ, кнопки громкости будет динамически изменить для контроля объема средств массовой информации, когда любые мультимедийные объекты являются активными. + +* `OverrideUserAgent` (строка, не определен по умолчанию): Если параметр установлен, значение заменит старое значение UserAgent для webview. Это полезно для идентификации запроса из приложения/браузера при запросе удаленных страниц. Используйте с осторожностью, в мае этого года вызывает проблемы совместимости с веб-серверами. В большинстве случаев вместо этого параметра используйте AppendUserAgent. + + + +* `AppendUserAgent` (строка, не задан по умолчанию): Если параметр установлен, значение будет добавляться в конец старого значения UserAgent для webview. При использовании с OverrideUserAgent, это значение будет игнорироваться. + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5846f316/docs/ru/5.1.1/guide/platforms/android/index.md ---------------------------------------------------------------------- diff --git a/docs/ru/5.1.1/guide/platforms/android/index.md b/docs/ru/5.1.1/guide/platforms/android/index.md new file mode 100644 index 0000000..4b14855 --- /dev/null +++ b/docs/ru/5.1.1/guide/platforms/android/index.md @@ -0,0 +1,269 @@ +--- +license: Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--- + +# Руководство для платформы Android + +В этом руководстве показано, как настроить среду SDK для развертывания приложений Cordova для устройств на базе Android и как при необходимости использовать специфические для Android средства командной строки в вашем рабочем процессе построения приложений. Вам нужно установить Android SDK независимо от того, хотите ли вы использовать эти инструменты или использовать кросс-платформенный Cordova CLI для построения приложения. Для сравнения двух вариантов разработки см. Введение. Дополнительные сведения о CLI, см. "Интерфейс командной строки". + +## Требования и поддержка + +Cordova для Android необходим Android SDK, который может быть установлен на операционных системах OS X, Linux или Windows. Смотрите [системные требования][1] Android SDK. + + [1]: http://developer.android.com/sdk/index.html#Requirements + +Cordova поддерживает Android 4.0.x (начиная с уровня Android API 14) и выше. Как правило версии Android перестают поддерживается Cordova после того как они опустится ниже 5% на [панель распространения][2] Google . Версии Android менее чем API уровня 10, и версии 3.x (Honeycomb, уровни API 11-13) упали значительно ниже этого 5%-го порога. + + [2]: http://developer.android.com/about/dashboards/index.html + +## Установка инструментов Cordova + +Если вы хотите использовать Android-ориентированные инструменты Cordova совместно с SDK, скачайте Cordova с [cordova.apache.org][3]. В противном случае этот раздел можно проигнорировать, если вы планируете использовать кросс-платформенное средство CLI, описанное в разделе "Интерфейс командной строки". + + [3]: http://cordova.apache.org + +Страница для скачивания Cordova содержит различные архивы для каждой платформы. Убедитесь в том распаковываете соответствующий архив, `android` в данном случае, в пустой каталог. Соотвествующие выполняемые утилиты будут доступны в каталоге `bin` верхнего уровня. (Обратитесь при необходимости к **README** файлу за более подробными инструкциями.) + +Эти инструменты командной строки позволят вам создавать, собирать и запускать приложения для Android. За информаций о дополнительных интерфейсах командной строки которые позволяют встраивать возможности плагинов среди разных платформ, смотрите раздел "Использование Plugman для управления расширениями". Смотрите раздел "Плагины приложения" для детальной информации о том как разрабатывать плагины. + +## Установите Java Development Kit (JDK) + +Установить [Java Development Kit (JDK) 7][4] или более поздней версии. + + [4]: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html + +При установке на Windows, необходимо также задать переменную окружающей среды `JAVA_HOME` в соотвествии с каталогом установки JDK (например, C:\Program Files\Java\jdk1.7.0_75). + +## Установить Android SDK + +Установите [SDK Android Stand-alone SDK Tools][5] или [Android Studio][6]. Продолжите с `Android Studio` если планируется разработка новых плагинов Cordova для Android или использовать встроенных средств для запуска и отладки на Android платформе. В противном случае `Android Stand-alone SDK Tools` вполне достаточно для построения и развертывания приложения на Android. + + [5]: http://developer.android.com/sdk/installing/index.html?pkg=tools + [6]: http://developer.android.com/sdk/installing/index.html?pkg=studio + +Подробные инструкции по установке доступны как часть установки. + +Чтобы инструменты командной строки Cordova работали, или другое CLI которое основано на них, вам необходимо включить каталоги SDK `tools` и `platform-tools` в вашу переменную окружения `PATH`. На Mac, вы можете использовать текстовый редактор для создания или изменения файла `~/.bash_profile`, добавив линию, наподобие нижеуказанной, в зависимости от того где установлен SDK: + + export PATH=${PATH}:/Development/android-sdk/platform-tools:/Development/android-sdk/tools + + +Эта строка в `~/.bash_profile` добавляет эти инструменты во вновь открытых окнах терминала. Если ваше окно терминала уже открыт в OSX, или чтобы избежать процедуры выхода/входа на Linux, выполните ниже указанную команду, чтобы сделать эти инструменты доступными в текущем окне терминала: + + $ источника ~/.bash_profile + + +Чтобы изменить переменную окружения `PATH` на Windows 7: + +1. Нажмите на меню " **Пуск** " в левом нижнем углу рабочего стола, щелкните правой кнопкой мыши на **Мой комьютер**, а затем нажмите кнопку **Свойства**. + +2. Нажмите кнопку **Дополнительные параметры системы** в столбце слева. + +3. В открывшемся диалоговом нажмите **Переменные среды**. + +4. Выберите переменную **PATH** и нажмите **редактировать**. + +5. Добавьте следующее в `PATH`, в зависимости от того куда был установлен пакет SDK, например: + + ;C:\Development\android-sdk\platform-tools;C:\Development\android-sdk\tools + +6. Сохраните значение и закройте оба диалоговые окна. + +## Установить пакеты SDK + +Откройте Android SDK Manager (например, через терминал: `android`) и установить: + +1. Android 5.1.1 (API 22) platform SDK +2. Android SDK Build-tools version 19.1.0 или выше +3. Android Support Repository (Extras) + +Смотрите [Установка пакетов SDK][7] для получения более подробной информации. + + [7]: http://developer.android.com/sdk/installing/adding-packages.html + +## Настройка эмулятора + +По умолчанию Android sdk не предоставляет никаких эмуляторов. Вы можете создать новый, запустив `android` в командной строке. Выбрать **Tools → Manage AVDs** (Android Virtual Devices), затем выберите любой элемент из **Device Definitions** в появившемся диалоговом окне: + +![][8] + + [8]: img/guide/platforms/android/asdk_device.png + +Нажмите **Create AVD**, при необходимости изменяя имя, затем нажмите **ОК**, чтобы принять изменения: + +![][9] + + [9]: img/guide/platforms/android/asdk_newAVD.png + +После этого AVD появляется в списке **Android Virtual Devices**: + +![][10] + + [10]: img/guide/platforms/android/asdk_avds.png + +Чтобы открыть эмулятор как отдельное приложение, выберите AVD и нажать кнопку **Start**. Android запускается, также как он запускается на устройстве, с дополнительные элементы управления, доступными для аппаратных кнопок: + +![][11] + + [11]: img/guide/platforms/android/asdk_emulator.png + +Для более быстрый восприятия можно использовать `Ускорение виртуальной машины` для повышения скорости выполнения. Многие современные процессоры предоставляют расширения для выполнения виртуальных машин более эффективно. Прежде чем пытаться использовать этот тип ускорения, необходимо определить, поддерживает ли процессор вашей текущей системы развития, одну из следующих технологий виртуализации: + +* **Технология Виртуализации Intel** (VT-x, vmx) → [Список процессоров поддерживающих Intel VT-x][12] +* **Виртуализация AMD** (AMD-V, SVM), поддерживается только Linux (начиная с May 2006, все процессоры AMD включают AMD-V, за исключением Sempron). + + [12]: http://ark.intel.com/products/virtualizationtechnology + +Еще один способ узнать, если ваш процессор поддерживает технологию VT-x, это путем выполнения `Утилита идентификации процессора Intel`, для `Windows` вы можете скачать ее с сайта [Центр загрузки Intel ][13], или можно использовать [утилиту booteable][14], который является `ОС-независимой`. + + [13]: https://downloadcenter.intel.com/Detail_Desc.aspx?ProductID=1881&DwnldID=7838 + [14]: https://downloadcenter.intel.com/Detail_Desc.aspx?ProductID=1881&DwnldID=7840&lang=eng + +После установки и выполнения `Утилита идентификации процессора Intel` в Windows, вы получите следующее окно, чтобы проверить, поддерживает ли ваш процессор технологии виртуализации: + +![][15] + + [15]: img/guide/platforms/android/intel_pid_util_620px.png + +Для того, чтобы ускорить эмулятор, вам нужно скачать и установить один или несколько образов системы `Intel x86 Atom`, а также `Менеджер выполнения аппаратного ускорения Intel (HAXM)`. + +Откройте ваш Android SDK Manager и выберите образ системы `Intel x86 Atom`, для той версии, которую вы хотите проверить. Затем перейдите в раздел `Extras` и выберите `Intel x86 Emulator Accelerator (HAXM)` и установить эти пакеты: + +![][16] + + [16]: img/guide/platforms/android/asdk_man_intel_image_haxm.png + +После загрузки, запустите инсталлятор Intel, который доступен в вашем Android SDK в каталоге `extras/intel/Hardware_Accelerated_Execution_Manager`. **Примечание**: `Если у вас есть проблемы с установкой пакета, вы можете найти более подробную информацию и пошаговое руководство в этой` [статье Intel][17]. + + [17]: http://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture + +1. Установить одно или несколько образов системы `Intel x86 Atom`, а также `Intel Hardware Accelerated Execution Manager`, доступных в разделе **Extras**. + +2. Запустите инсталлятор Intel, который доступен в вашем Android SDK в каталоге `extras/intel/Hardware_Accelerated_Execution_Manager`. + +3. Создайте новый AVD с выбрав в качестве цели образ Intel. + +4. При запуске эмулятора, удостоверьтесь что нет сообщений об ошибке, указывающих на сбой загрузки модулей HAX. + +## Создание нового проекта + +На данный момент для создания нового проекта можно выбрать между кросс-платформенным инструментом CLI, описанным в разделе "Интерфейс командной строки", или набор Android-ориентированных инструментов. Из каталога с исходным кодом, вот подход CLI: + + $ cordova create hello com.example.hello HelloWorld + $ cd hello + $ cordova platform add android + $ ccordova prepare # or "cordova build" + + +Вот соотвествующий низкоуровневый подход для Unix и Windows: + + $ /path/to/cordova-android/bin/create /path/to/new/hello com.example.hello HelloWorld + C:\path\to\cordova-android\bin\create.bat C:\path\to\new\hello com.example.hello HelloWorld + + +## Построение проекта + +Если вы используете CLI для разработки, каталога `www` проекта содержит исходные файлы. Запустите любой из нижеследующего в каталоге проекта для перепостроения приложения: + + $ cordova build # build all platforms that were added + $ cordova build android # build debug for only Android + $ cordova build android --debug # build debug for only Android + $ cordova build android --release # build release for only Android + + +Если вы используете Android-ориентированные инструментыв разработке, используйте другой подход. После того как вы создали проект, исходный код приложения по умолчанию доступен в подкаталоге `assets/www`. Последующие команды доступны в подкаталоге `cordova` проекта. + +Команда `build` очищает файлы проекта и перестраивает приложение. Вот синтаксис для Mac и Windows. Первая пара примеров создает отладочную информацию, и второй подписывает приложения для релиза: + + $ /path/to/project/cordova/build --debug + C:\path\to\project\cordova\build.bat --debug + + $ /path/to/project/cordova/build --release + C:\path\to\project\cordova\build.bat --release + + +## Развертывание приложения + +Чтобы развернуть приложение на эмуляторе или устройстве из командной строки можно использовать утилиту CLI `cordova` : + + $ cordova emulate android #to deploy the app on a default android emulator + $ cordova run android --device #to deploy the app on a connected device + +В противном случае используйте интерфейс альтернативной оболочки: + + $ /path/to/project/cordova/run --emulator + $ /path/to/project/cordova/run --device + + +Можно использовать **cordova run android --list** чтобы увидеть все доступные цели и **cordova run android --target=имя_устройства** для запуска приложения на конкретном устройстве или эмуляторе (например, `cordova run android --target="Nexus4_emulator"`). + +Чтобы увидеть дополнительные параметры построения и запуска также можно использовать **cordova run --help**. + +Эта команда установаливает приложение на главной странице и запускает его: + +![][18] + + [18]: img/guide/platforms/android/emulator2x.png + +Когда вы запускаете приложение с помощью `run`, вы также собираете его с помощью `build` автоматически. Вы можете добавить дополнительные флаги `--debug`, `--release`, и `--nobuild` для управления как приложение будет построен, или даже когда перепостроение необходимо: + + $ /path/to/project/cordova/run --emulator --nobuild + + +## Другие команды + +Следующие команды задают детальное протоколирование приложения, во время его работы: + + $ /path/to/project/cordova/log + C:\path\to\project\cordova\log.bat + +Следующие команды очищают файлы проекта: + + $ /path/to/project/cordova/clean + C:\path\to\project\cordova\clean.bat + + +## Откройте новый проект в SDK + +После того, как платформа android добавлена в ваш проект, вы можете открыть проект в [Android Studio][6]: + +1. Запустите приложение **Android Studio** . + +2. Выберите пункт **Import Project (Eclipse ADT, Gradle, etc)**. + + ![][19] + +3. Выберите местоположение, где платформа android сохраняется (`ваш/каталог/проекта/platforms/android`). + + ![][20] + +4. Для вопроса `Gradle Sync` можно просто ответить **Yes**. + + [19]: img/guide/platforms/android/asdk_import_project.png + [20]: img/guide/platforms/android/asdk_import_select_location.png + +Все готово теперь и можно построить и запустить приложение непосредственно из `Android студии`. + +![][21] + + [21]: img/guide/platforms/android/asdk_import_done.png + +Смотрите [Введение в Android Studio][22] и [Построение и запуск из Android студии][23] для более подробной информации. + + [22]: http://developer.android.com/tools/studio/index.html + [23]: http://developer.android.com/tools/building/building-studio.html \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5846f316/docs/ru/5.1.1/guide/platforms/android/plugin.md ---------------------------------------------------------------------- diff --git a/docs/ru/5.1.1/guide/platforms/android/plugin.md b/docs/ru/5.1.1/guide/platforms/android/plugin.md new file mode 100644 index 0000000..d68018d --- /dev/null +++ b/docs/ru/5.1.1/guide/platforms/android/plugin.md @@ -0,0 +1,179 @@ +--- +license: Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--- + +# Плагины для Android + +Этот раздел содержит сведения о том, как реализовать плагин в коде на платформе Android. Прежде чем читать этот раздел, изучите раздел "Расширения приложения" для обзора структуры плагина и его общий интерфейс JavaScript. Этот раздел продолжает демонстрировать пример *echo* плагина, который соообщается из WebView Cordova с кодом платформы и в обратную строну. Еще один пример см. также комментарии в файле [CordovaPlugin.java][1]. + + [1]: https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/CordovaPlugin.java + +Android плагины основаны на проекте Cordova-Android, который состоит из Android WebView с хуками, прилагаемыми к нему. Плагины представляются как сопоставления классов в файле `config.xml`. Модуль состоит из по крайней мере из одного Java-класса, который расширяет класс `CordovaPlugin`, и переопределяющий один из его методов - `execute`. Как лучшая практика, плагин также должен обрабатывать `pause` и `resume` события, наряду с любой передачи сообщений между плагинами. Плагины с длительные запросы, фоновой активностью такие как воспроизведение мультимедиа, слушатели или внутреннее со стояние следует также реализовать метод `onReset()`. Он выполняется, когда `WebView` переходит на новую страницу или обновляется, что приводит к перезагрузке JavaScript. + +## Сопоставление классов плагина + +Интерфейс JavaScript плагин использует метод `cordova.exec` следующим образом: + + Exec (< successFunction >, < failFunction >, < служба >, < действия > [< args >]); + + +Это маршалирует запрос от WebView к коду Android, вызывая метод `action` класса `service`, с дополнительными аргументами, передаваемые в массиве `args`. + +Распространяете ли вы плагин как Java-файл или файл *jar*, плагин должен быть указан в вашем файле `res/xml/config.xml` Cordova-Android приложения. См. "Расширения приложения" для получения дополнительной информации о том, как использовать файл `plugin.xml` для вставки следующего элемента `feature`: + + + + + + +Имя службы должен соответствовать той службе, которая используется в JavaScript вызове `exec`. Значение является идентификатором класса Java включая полное пространство имен. В противном случае плагин может компилировать, но по-прежнему будет недоступным для Cordova. + +## Инициализация плагин его жизненный цикл + +Один экземпляр объекта плагин создается для каждого `WebView` . Плагины не создаются до тех пор, пока они первый раз не ссылается из JavaScript вызова, за исключением если `` с атрибутом с атрибутом `name` тега `onload` имеющим значение `"true"` в `config.xml` . Например: + + + + + + + +Следует использовать метод плагина `initialize` для логики инициализации плагина. + + @Override + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + super.initialize(cordova, webView); + // your init code here + } + + +## Написание Java плагин Android + +Вызов из JavaScript выполняет запрос к стороне платформы, и соответствующий Java плагин привязан корректно в файле `config.xml`, но как выглядит окончательный Java-класс плагина для Android? Все, что отправляется в плагин с JavaScript функцией `exec` передается в метод класса `execute`. Большинство реализаций `execute` выглядят следующим образом: + + @Override общественного boolean выполнение (строка действия, JSONArray args, CallbackContext callbackContext) бросает JSONException {если («beep".equals(action)) {this.beep(args.getLong(0)); + callbackContext.success(); + Возвращает значение true; + } Возвращает значение false; / / Возвращения ложные результаты в сообщение об ошибке «MethodNotFound». + } + + +Параметр `action` функции JavaScript `exec` соответствует закрытому методу класса куда диспетчиризуются необязательные параметры. + +При перехвате исключений и возвращении ошибки, важно для ясности, чтобы ошибки возвращены в JavaScript соотвествовали именам исключений Java как можно больше. + +## Работа с потоками + +JavaScript плагине *не* выполняются в основном потоке интерфейса `WebView`, вместо этого, он работает в потоке `WebCore`, как это делает метод `execute`. Если вам нужно взаимодействовать с интерфейсом пользователя, следует использовать следующие изменения: + + @Override + public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException { + if ("beep".equals(action)) { + final long duration = args.getLong(0); + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + ... + callbackContext.success(); // Thread-safe. + } + }); + return true; + } + return false; + } + + +Используйте следующее, если вам не нужно запускать в главном потоке интерфейсе, но не хотите также блокировать поток `WebCore`: + + @Override + public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException { + if ("beep".equals(action)) { + final long duration = args.getLong(0); + cordova.getThreadPool().execute(new Runnable() { + public void run() { + ... + callbackContext.success(); // Thread-safe. + } + }); + return true; + } + return false; + } + + +## Пример плагина Echo Android + +Для сопоставления интерфейса JavaScript функция *echo*, описанная в разделе "Плагины приложения", используйте `plugin.xml` для вставки спецификации `feature` в файл `config.xml` платформы: + + + + + + + + + + +Затем добавить следующий файл `src/org/apache/cordova/plugin/Echo.java`: + + package org.apache.cordova.plugin; + + import org.apache.cordova.CordovaPlugin; + import org.apache.cordova.CallbackContext; + + import org.json.JSONArray; + import org.json.JSONException; + import org.json.JSONObject; + + /** + * This class echoes a string called from JavaScript. + */ + public class Echo extends CordovaPlugin { + + @Override + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + if (action.equals("echo")) { + String message = args.getString(0); + this.echo(message, callbackContext); + return true; + } + return false; + } + + private void echo(String message, CallbackContext callbackContext) { + if (message != null && message.length() > 0) { + callbackContext.success(message); + } else { + callbackContext.error("Expected one non-empty string argument."); + } + } + } + + +Необходимые импорты в верхней части файла наследуют класс от `CordovaPlugin`, чей метод `execute()` переопределяется для получения сообщений от `exec()` . Метод `execute()` сначала проверяет значение `action` , для которого в этом случае есть только одно действительное значение - `echo`. Любое другое значение параметра action возвращает `false` и приводит к ошибке `INVALID_ACTION`, которая передается интерфейсу обратного вызова об ошибке на стороне JavaScript. + +Далее, этот метод извлекает эхо-строку, используя метод `getString` объекта `args`, определяя первый параметр передаваемый методу. После того, как значение передается в закрытый метод `echo`, это параметр проверяется, чтобы убедиться, что это не `null` и не является пустой строкой, в этом случае `callbackContext.error()` вызывает ошибку на стороне JavaScript. Если различные проверки проходят успешно, `callbackContext.success()` передает исходное значение строки `message` обратно в JavaScript в качестве параметре функции успешного вызова. + +## Интеграция с Android + +Android предоставляет систему `Intent`, которая позволяет процессам взаимодействовать друг с другом. Плагины имеют доступ к объекту `CordovaInterface`, который можно получить доступ к Android `Activity` которая запустила приложение. Это `Context` необходимые для запуска нового `Intent` Android. `CordovaInterface` позволяет плагинам запускать `Activity` для получения результата и установить функцию обратного вызова которая выполнится когда `Intent` вернутся приложению. + +По состоянию на Cordova 2.0, плагины больше не имеют прямого доступа к `Context` и член класса `ctx` член является устаревшим. Все `ctx` методы существуют в `Context` , так что оба `getContext()` и `getActivity()` могут возвращать требуемый объект. + +## Отладка Android плагинов + +Eclipse позволяет отлаживать плагины как исходный код Java, включенный в проект. Только последняя версия Android Developer Tools позволяет вам прикрепить исходный код к *JAR* зависимостям, так что эта функция пока не поддерживается полностью. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5846f316/docs/ru/5.1.1/guide/platforms/android/tools.md ---------------------------------------------------------------------- diff --git a/docs/ru/5.1.1/guide/platforms/android/tools.md b/docs/ru/5.1.1/guide/platforms/android/tools.md new file mode 100644 index 0000000..fb28e01 --- /dev/null +++ b/docs/ru/5.1.1/guide/platforms/android/tools.md @@ -0,0 +1,201 @@ +--- +license: Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--- + +# Руководство по инструментам командной строки Android + +В этом руководстве показано, как использовать набор платформо-ориентированных инструментов Cordova для разработки приложений на Android. Этот путь разработки, описанный в разделе "Введение", может предложить вам больший спектр вариантов разработки чем кросс платформенный инструмент CLI, описанные в разделе "Интерфейс командной строки". Например вам нужно использовать инструменты командной строки при развертывании настраиваемого Cordova WebView наряду с собственными компонентами. Перед использованием любой путь разработки, сначала необходимо настр оить среду Android SDK, как описано в разделе "Руководство для платформы Android". + +Чтобы включить инструменты оболочки для Android, скачайте Cordova с [cordova.apache.org][1]. Загружаемый файл содержит отдельные архивы для каждой платформы. Разверните каждый, для которого вы хотите разрабатывать который, `android` в данном случае. Соответствующие инструменты обычно доступны в папке верхнего уровня `bin`, в противном случае проконсультируйтесь в файле **README** для более подробные инструкции. + + [1]: http://cordova.apache.org + +Эти инструменты командной строки позволят вам создавать, собирать и запускать приложения для Android. За информаций о дополнительных интерфейсах командной строки которые позволяют встраивать возможности плагинов среди разных платформ, смотрите раздел "Использование Plugman для управления расширениями".Смотрите раздел "Плагины приложения" для детальной информации о том как разрабатывать плагины. + +## Создание проекта + +Запуск `create` команду, указав существующий путь к проекту, реверс домен стиль пакета идентификатор и отображаемое имя приложения. Вот синтаксис для Mac/Linux и Windows: + + $ /path/to/cordova-android/bin/create /path/to/project com.example.project_name ProjectName + + C:\>\path\to\cordova-android\bin\create.bat \path\to\project com.example.project_name ProjectName + + +## Сборка + +Это удаляет, затем выполняет построение проекта. + +Отладка, на Windows или Mac/Linux: + + $ /path/to/project/cordova/build --debug + + C:\>\path\to\project\cordova\build.bat --debug + + +Релиз, на Windows или Mac/Linux: + + $ /path/to/project/cordova/build --release + + C:\>\path\to\project\cordova\build.bat --release + + +## Запуск приложения + +Команда `run` принимает следующие *необязательные* параметры: + +* Целевая спецификация. Это включает в себя `--emulator` , `--device`, или`--target=`. + +* Спецификация сборки. Это включает в себя `--debug` , `--release` , или`--nobuild`. + + $ /path/to/project/cordova/run [Target] [Build] + + C:\>\path\to\project\cordova\run.bat [Target] [Build] + + +Убедитесь, что вы создали по крайней мере одно виртуальное устройство Android, в противном случае вам будет предложено сделать это с помощью команды `android`. Если несколько AVD доступны как цель, вам будет предложено выбрать одно из них. По умолчанию команда `run` определяет подключенное устройство, или в настоящее время работающий эмулятор, если устройство не найдено. + +## Подпись приложения + +Вы можете просмотреть требования для подписанния Android приложений: http://developer.android.com/tools/publishing/app-signing.html + +Чтобы подписать приложение, необходимо следующие параметры:   + +* Keystore (`--keystore`): путь к двоичному файлу, который может содержать набор ключей. + +* Keystore password (`--storePassword`): пароль для хранилища ключей + +* Alias (`--alias`): id определеяющий закрытый ключ, используемый для подписания. + +* Password (`--password`): пароль для указанного закрытого ключа. + +* Type of the keystore (`--keystoreType`): pkcs12, jks (по умолчанию: автоматическое определение на основе расширения файла) + +Эти параметры могут быть заданы с помощью аргументов командной строки выше для скриптов `build` или `run`. + +Кроме того их можно указать в файле конфигурации сборки (build.json) с помощью аргумента (`--buildConfig`). Ниже приведен пример файла конфигурации построения: + + { + "android": { + "debug": { + "keystore": "..\android.keystore", + "storePassword": "android", + "alias": "mykey1", + "password" : "password", + "keystoreType": "" + }, + "release": { + "keystore": "..\android.keystore", + "storePassword": "", + "alias": "mykey2", + "password" : "password", + "keystoreType": "" + } + } + } + + +Для подписи релизной версии, пароли могут быть исключены и система построения будет выдавать запрос на пароль. + +Существует также поддержка смешивать аргументы командной строки и параметры в файле build.json. Приоритет будут получать значения из аргументов командной строки. Это может быть полезно для задания паролей в командной строке. + +## Ведение журнала + + $ /path/to/project/cordova/log + + C:\>\path\to\project\cordova\log.bat + + +## Очистка + + $ /path/to/project/cordova/clean + + C:\>\path\to\project\cordova\clean.bat + + +## Сборка с Gradle + +Начиная с cordova-android@4.0.0, сборка проекта использует [Gradle][2]. Для инструкций по построению с помощью ANT, используйте более старую версию документации. + + [2]: http://www.gradle.org/ + +### Свойства Gradle + +Эти [свойства][3] могут быть установлены для настройки процесса сборки: + + [3]: http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html + +* **cdvBuildMultipleApks** (по умолчанию: false) + + Если этот параметр установлен, то будут создаваться несколько APK файлов: один для каждой платформы, поддерживаемой библиотеками проектов (x86, ARM, и т.д.). Это может быть важно, если ваш проект использует большие бинарные библиотеки, которые могут резко увеличить размер создаваемого APK. + + Если не задано, то будет создаваться один APK, который может использоваться на всех устройствах. + +* **cdvVersionCode** + + Переопределяет versionCode установленный в `AndroidManifest.xml` + +* **cdvReleaseSigningPropertiesFile** (по умолчанию: release-signing.properties) + + Путь к файлу .properties, содержащую информацию о подписях для релизных сборок. Этот файл должен выглядеть: + + storeFile=relative/path/to/keystore.p12 + storePassword=SECRET1 + storeType=pkcs12 + keyAlias=DebugSigningKey + keyPassword=SECRET2 + + `storePassword` и `keyPassword` являются необязательными и будет запрашиваться, если пропущены. + +* **cdvDebugSigningPropertiesFile** (по умолчанию: debug-signing.properties) + + Так же, как cdvReleaseSigningPropertiesFile, но для отладочного построения. Полезно, когда вам нужно использовать ключ подписи совместно с другими разработчиками. + +* **cdvMinSdkVersion** + + Переопределяет значение `minSdkVersion` в `AndroidManifest.xml`. Полезно при создании нескольких APK на основе версии SDK. + +* **cdvBuildToolsVersion** + + Переопределяет автоматически обнаруженное значение `android.buildToolsVersion` . + +* **cdvCompileSdkVersion** + + Переопределяет автоматически обнаруженное значение `android.compileSdkVersion` . + +### Расширение build.gradle + +Если вам нужно настроить `build.gradle`, вместо того, чтобы редактировать его напрямую, следует создать одноуровневый файл с именем `build-extras.gradle`. Этот файл будет включен основным `build.gradle` если он существует. Вот пример: + + # Example build-extras.gradle + # This file is included at the beginning of `build.gradle` + ext.cdvDebugSigningPropertiesFile = '../../android-debug-keys.properties' + # When set, this function allows code to run at the end of `build.gradle` + ext.postBuildExtras = { + android.buildTypes.debug.applicationIdSuffix = '.debug' + } + + +Обратите внимание, что плагины могут также включать файлы `build-extras.gradle` через: + + + + +### Пример сборки + + export ORG_GRADLE_PROJECT_cdvMinSdkVersion=14 + cordova build android -- --gradleArg=-PcdvBuildMultipleApks=true \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org For additional commands, e-mail: commits-help@cordova.apache.org