Cordova на Ubuntu
Первое знакомство с этим волшебным программным обеспечением. Есть несколько вариантов использовать sdk-tools и работать через консоль или скачать Android Studio. Вот ссылка на скачивание, sdk-tools в самом низу. Я использовал и тот и другой вариант, но мне больше нравится sdk-tools. Нативные приложения пока я не разрабатываю.
Подоготовим Android Emulator
Обязательно устанавливаем oracle java 1.8 понадобится при сборке приложений в cordova
$ sudo apt-add-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer unzip
Установим интерпретатор java8 по-умолчанию
$ sudo update-java-alternatives -set java-8-oracle
Проверим
$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
Важно! В принципе нет разницы куда скачивать и устанавливать sdk tools, главное чтобы в путях не было символа тире. При сборке cordova будет выдавать ошибки EACCESS.
Скачиваем sdk-tools и распаковываем в папку opt, предварительно создаем директории:
$ mkdir /opt/androidsdk/platform-tools -P
$ cd /opt/androidsdk/
$ wget https://dl.google.com/android/repository/tools_r25.2.3-linux.zip
$ unzip tools_r25.2.3-linux.zip
Устанавливаем переменные окружения и применяем их:
$ echo 'export JAVA_HOME="'$(update-java-alternatives -l | grep java-8-oracle | awk '{print $3}')'"' >> /home/$USER/.profile
$ echo 'export ANDROID_HOME="/opt/sdktools"' >> /home/$USER/.profile
$ echo 'export ANDROID_SDK_ROOT="/opt/sdktools"' >> /home/$USER/.profile
$ echo 'export PATH="/opt/sdktools/tools:/opt/sdktools/platform-tools/:$PATH"' >> /home/$USER/.profile
$ source /home/$USER/.profile
Устанавливаем необходимые пакеты и создаем виртуальный Android девайс через интерфейс или командную строчку. Через интерфейс просто запускаем android
$ android
Выбираем необходимые пакеты, в соответствии с версией Android то есть версией API нам потребуются SDK-Tools, Build-Tools, Platform-Tools (Например Android версия 6.0 -> уровень API 23 -> SDK-Tools 23). После устновки и всех соглашений. Там же в меню Tools -> Manage AVDs (Android Virtual Device) создаем дейвайс.
Устанавливаем cordova и плагины
Cordova и плагины устанавливаются через npm. На официальном сайте есть полное описание этого процесса. Для начала необходимо установить nodejs
$ curl -sL https://deb.nodesource.com/setup | sudo bash -
$ sudo apt-get update
$ sudo apt-get install nodejs npm
Устанавливаем cordova
$ npm install cordova cordova-jquery
Смотрим путь установки плагинов
$ npm bin
/home/user/node_modules/.bin
где user директория пользователя. Можно добавить эту директорию в переменную окружения PATH, чтобы упростить запуск приложений
Создаем диреторию приложения и создаем приложение:
$ mkdir ~/project
$ cd project
$ cordova create hello hello.ru "Hello World"
Работаем с плагином, собираем проект и запускаем приложение в эмуляторе
$ cd hello; /home/user/node_modules/.bin/cordova-jquery
? Would you like to add jQuery mobile to the current Apache Cordova project? (Y/? Would you like to add jQuery mobile to the current Apache Cordova project? Yes
? What would you like to do now that jQuery is enabled? applyTemplate
? Which jQuery mobile template would you like to apply to your Apache Cordova pr? Which jQuery mobile template would you like to apply to your Apache Cordova pr? Which jQuery mobile template would you like to apply to your Apache Cordova project? headerNavbar
? Would you like to keep the current code? ...it could get ugly! No
Done injecting header navbar jquery mobile template
Запускаем приложение в эмуляторе
$ cordova platform
Installed platforms:
Available platforms:
amazon-fireos ~3.6.3 (deprecated)
android ~6.1.1
blackberry10 ~3.8.0
browser ~4.1.0
firefoxos ~3.6.3
ubuntu ~4.3.4
webos ~3.7.0
Можно создать приложение для любой из этих платформ. Это безумно интересно. Волшебство именно в этом. Добавляем android платформу в проект
$ cordova platform add android@6.1.1
Собираем проект
$ cordova build
$ cordova emulate
Важно! Правильные переменные окружения
Мы должны увидеть сборку проекта создание .apk файла и запуск AVD.
Есть еще ряд полезных команд
$ cordova run
$ cordova serve
Следующую статью думаю написать про автоматическое создание наборов иконок для приложений android.