16.04.2019

Разработчикам плагинов для приложения «Энергосберегающие Аналоговые Часы Живые Обои»

В новых версиях приложения (6.5+) вы можете использовать пользовательские наборы циферблатов, не прибегая к установке или созданию плагинов. Подробнее см. использование своих наборов циферблатов. Если вы хотите создать свою текстуру для циферблата, читайте эту страницу до пункта «Создание готового приложения».

Данное руководство предназначено как для программистов, дизайнеров, так и для людей, желающих выпустить свои приложения, и иметь возможность зарабатывать на этом. Изучив его, вы сможете создавать новые циферблаты, даже если у вас нет навыков программирования (понадобятся некоторые навыки по работе с Adobe Photoshop). Я предоставляю вам такую уникальную возможность – создать свои уникальные часы в виде приложения-дополнения.

Для работы вам понадобятся:

Создание текстуры циферблата

Начнем с создания циферблата. Скачайте пример циферблата, сделанного в Photoshop (ссылка выше). Рекомендую создавать одну текстуру 1024×1024 пикселей, но могут быть и другие разрешения, кратные степени 2 (например, 256×256, 512×512, 2048×2048). Часы создаются на прозрачном фоне, после чего сохраняется файл формата png, из которого можно выделить файл маски прозрачности, этот процесс описан далее. Для удобства в проекте нарисованы линии для позиционирования стрелок и циферблата.

Пример проекта циферблата

Дополнительная подготовка циферблата

Для того, чтобы сократить размер, занимаемый циферблатом, вместо текстуры с прозрачностью формата png я использую 2 файла формата jpg – один – сама текстура, второй – маска прозрачности. Для того, чтобы из png сделать 2 jpg, вам нужно открыть png в Photoshop, перейти из вкладки «Слои» в соседнюю вкладку «Каналы», нажать на решетчатую кнопку и в выпадающем меню выбрать «Разделить каналы».

Последний открывшийся файл, содержащий в имени слово «Прозрачность», сохраняем как jpg с тем же именем, что и png, с добавлением «_mask». Оставшиеся файлы можно закрыть без сохранения.

Для того, чтобы края элементов в основном jpg файле не были другого цвета и не выделялись, я обычно добавляю ему подходящий по цвету краев фон, либо: не закрываю оставшиеся после разделения каналов файлы, создаю новый файл под размеры циферблата, открываю вкладку «Каналы», выделяю последовательно каждый и вставляю туда скопированные изображения из соответствующих файлов каналов. Получившийся файл можно сохранить в формате jpg.

Сохраняем стрелки в виде png файла.

Пример сохраненного циферблата

Создание готового приложения

Циферблат готов, достаточно собрать из него приложение. Для этого необходимо распаковать скачанный ранее демо-проект плагина, зайти в папку app\src и дублировать analogWhite.

Затем переименовываем на своё имя латинскими буквами без пробелов, например, newAnalogClocksPlugin, и заходим в неё и далее в assets\textures\packs и копируем сюда нашу подготовленную папку с циферблатом.

Открываем ранее скачанную и установленную Android Studio, заходим в File > Open… и выбираем папку проекта.

Открываем файл проекта build.gradle (Module:app), копируем analogWhite {…} с содержимым скобок, вставляем после него. Заменяем analogWhite на newAnalogClocksPlugin, совпадающий с названием нашей папки – это вариант проекта плагина.

Оставляем часть applicationId  com.maxlab.bsclocks.plugins.analog. и добавляем свою, рекомендую вид developer_name.plugin_name, чтобы ваш id отличался от других, как на рисунке выше.

Заполняем данные своей информацией для цифровой подписи. Если у вас нет хранилища ключей, то создайте его, и создайте ключ для цифровой подписи этого циферблата. Подробнее про это можно прочитать на официальном англоязычном сайте https://developer.android.com/studio/publish/app-signing.html либо на сайте http://developer.alexanderklimov.ru/android/publish.php . Для удобства начального запуска и отладки добавьте строку android.productFlavors. newAnalogClocksPlugin.signingConfig signingConfigs.debug  (для отладки, используйте свой config перед выпуском) перед lintOptions.

Дублируем строчку для подписи нового плагина и заменяем analogWhite на newAnalogClocksPlugin:

Выбираем среди BuildVariants  newAnalogClocksPluginDebug или newAnalogClocksPluginRelease, как показано на рисунке. Теперь открываем файлы strings.xml для различных языков (выделены на рисунке). Вы можете добавить свои файлы локализаций.

Необходимо изменить параметры – имя приложения и собственно имя циферблата внутри главного приложения. Кстати, циферблатов может быть несколько, для каждого необходимо указать своё имя и параметры (см. ниже).

Заменяем white_plugin (содержимое кавычек) на ваше имя циферблата, совпадающее с названием папки циферблата и прописываем адекватное название, которое будет видимо при выборе циферблатов в главном приложении часов. В следующих строках нужно заменить только часть white_plugin и оставить концовку, _date_pos или _arrow_width. Значение _date_pos определяет радиус окружности, в котором будет находиться дата (если в основном приложении она активирована), относительно радиуса всего циферблата, т.е. значение «1» будет равно радиусу циферблата, «0.5» — половине радиуса циферблата и т.д. Чтобы дата не налезала на цифры внутри циферблата, рекомендую ставить значение до 0.5 (экспериментировать с этим числом, если у вас полная версия основного приложения). Значение параметра, содержащего _arrow_width, равно ширине стрелки в пикселах (140) при размере циферблата 1024×1024. В проекте примера для удобства уже нанесены соответствующие этому значению вертикальные вспомогательные осевые линии. Если вы нарисуете стрелки толще, измените это значение на ваше.

То же проделываем с локализованными файлами strings.xml (только для переводимых значений).

Что осталось – так это значок для приложения, который вам нужно подготовить. Для лёгкого создания значка из изображения нужно зайти в res\mipmap, нажать правой кнопкой мыши и в выпадающем меню выбрать New > Image Asset.

Далее выберите «Image» и путь к изображению, Shape – «None».

Осталось указать папку с ресурсами плагина. Выбираем newAnalogClocksPlugin и Finish.

Проект готов. Обязательно проверяем его на реальном устройстве или эмуляторе. На устройстве должно быть установлено приложение Энергосберегающих Аналоговых Часов. Подключаем устройство к компьютеру через USB.

На компьютере должны быть установлены необходимые драйверы, а на устройстве включён режим отладки. Включить отладку по USB в Android можно, зайдя на устройстве в Настройки > Приложения > Разработка > Отладка по USB (установить флаг). В Android 4.2 и выше меню разработчика включается так: зайти Настройки > О телефоне и 7 раз тапнуть по пункту Номер сборки.

Нажимаем на зеленую треугольную кнопку «Run», выбираем устройство либо создаём новое и нажимаем OK.

Должно запуститься окно плагина.

Нажмите на установленное приложение. На большинстве устройств циферблат откроется сразу, на остальных необходимо запустить приложение самостоятельно, зайдя в меню выбора живых обоев, в приложение, его настройки, вид часов и выбрать ваш.

Если всё выглядит так, как вы хотели, то осталось зайти в меню Build > Generate signed APK и разместить приложение в Google Play!

По всем вопросам пишите мне на maxlab.code@gmail.com с темой сообщения «Разработка плагина»