8. Обновление

Прошло достаточно времени и в голову пришли новые мысли по поводу проекта.

Редактирование файлов по одиночке довольно неудобно. Часто нужно править внешние таблицы стилей или скрипты.

Таким образом, было решено обновить приложение - добавить возможность редактировать несколько файлов, при этом во встроенный браузер грузится какой-то один.

То есть, например, главный html файл просматривается, а стили и скрипты, которые используются в нём редактируются тут же, рядом.

Для удобства управления проектами создан механизм, позволяющий хранить некоторые настройки внутри одного "проекта": путь до каждого файла (3 штуки) и размер шрифта редактора.

После нескольких дней собирания кода и отлаживания, обновлённое приложение было готово.

Здесь не буду вдаваться в подробности кодописания, покажу что важно для обновления приложения в Google Play.

Кстати, ради такого дела была добавлена новая иконка.

Вот как это делается.

Иконка для программы

В графическом редакторе готовится иконка программы. Например, используя программу для создания презентации делаем набросок, копируем его, вставляем в пустой 512х512 файл Photoshop. Убираем заливку где не нужно (прозрачный фон) и сохраняем в PNG (этот формат позволяет сохранить прозрачность).

Размер 512х512 выбран чтобы обновить иконку и в Google Play. Возможно, можно использовать и меньшие размеры. (Посмотреть Andriod Design Guide).

Сама иконка может как-то описывать программу, например:

Конечно, можно сделать что-то абстрактное.

Подгружаем к программе. В списке медиафайлов (пустом) жмётся кнопка "Upload File...", в небольшом появившемся окошке жмется "Browse", выбирается нужный файл и загружается.

Далее, в окне просмотра или списке компонентов нужно выбрать главный экран программы (Screen1) и найти в его свойствах свойство "Icon", кликнув в пустое поле под ним, выбрать загруженный файл.

Готово!

Версии кода программы

Обновление программы невозможно, если не изменить коды версии программы.

Внимание!

Подписи файлов, приходящих из AI и после использования AppToMarket могут отличаться, это так же приводит к конфликту и препятствует загрузке в Google Play и простой установке на устройстве. Будьте внимательны в процессе отладки.

Итак, чтобы избежать ошибок ниже, при установке программы не из Google Play или при попытке загрузить новое приложение в Google Play нужно следить за версиями программы и использовать одну и ту же подпись.

Несовпадение подписи

 

Неправильно написан код версии 

 

Обновить версию программы нужно через свойства главного экрана программы. В таблице ниже приведёны коды предыдущей и обновлённой версии.

Старая версия

Новая версия 

В связи с обновлением AI, часть между горизонтальных черт не актуальна. Оставим её для истории.

При загрузке в Google Play нужно использовать версию, прошедшую через AppToMarket с теми же параметрами ключа на вкладке 1> (см. здесь).

При использовании AppToMarket (см. здесь как и зачем с ним работать) необходимо проверить какие версии записаны в файле AndroidManifest.xml и, возможно, apktool.yml.

До нажатия кнопки 2> Update Manifest в поля должны быть введены значения, соответствующие AI (Version и Version Name):

После жмём 2> Update Manifest и идём в папку где лежит AppToMarket, в подпапку temp_myDecompiles

Открываем нужные файлы (AndroidManifest.xml и apktool.yml) в текстовом редакторе и проверяем.

versionCode и versionName должны соответствовать указанным в AI.

После этой операции приложение загрузится в Google Play без проблем.

Целевые API устройств

Несмотря на оптимизацию через AppToMarket, Google Play советует оптимизировать приложение для планшетных ПК:

Предложения по оптимизации с картинки выше в порядке предложения:

http://developer.android.com/distribute/essentials/quality/tablets.html#use-extra-space

http://developer.android.com/distribute/essentials/quality/tablets.html#android-versions

http://developer.android.com/distribute/essentials/quality/tablets.html#use-tablet-icons

Посмотрев материалы по ссылкам можно увидеть, что для приложения осознано не указаны (используются какие-то из AppToMarket):

Совет по оптимизации для планшетов: https://groups.google.com/forum/#!topic/apptomarket/Zve2pqasVxc

"Here is my solution to apps made ​​with app inventor will be downloadable for tablets on googelplay.

1: open your apk with AppToMarket and [Decompile]

2: Update the Manifest

3: Edit the Manifest with the following

<uses-sdk android:targetSdkVersion="0" android:minSdkVersion="11"/>

AND

android: xlargeScreens = "true"

4a: Create new APK

4b: Create an xml file called assets.xml

contents of assets.xml should be (if you have two images)

<? xml version = "1.0" encoding = "utf-8">

<Bitmap xmlns: android = "http://schemas.android.com/apk/res/android"

android: src = "@ assets/image1"

android: src = "@ assets/image2" />

5a: Open your apk file and in the RES folder add

drawable-hdpi

drawable-lhdpi

drawable-xhdpi

(add all drawable folders that you need)

5b: In every drawable folder, add your new assets.xml

6: Sign

7: Verify

8: Zip Align

9: detelet "Zip Align" from the name of your apk.

myapp_Zip_Align.apk to myapp.apk

10: Upload to Google Play"

Воспользуемся им минимально (есть иконка приложения, но нужно разбираться с оставшейся частью совета, пока оставим возможно багованную версию). AndroidManifest.xml должен содержать строку:

<uses-sdk android:targetSdkVersion="0" android:minSdkVersion="11"/>

Распаковки apk добавляем в манифест после

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Дальше процедура сборки и т.д. Можно грузить в Google Play.

Обновление в Google Play

На вкладке Файлы APK в рабочей версии жмём загрузить новый APK.

После обновления минимальной версии SDK часть устройств, для которых подходит программа, будет удалена. В том числе об этом сообщает появившаяся после загрузки форма.

После обновления советы по оптимизации перестали содержать пункт об указании минимальной и текущей версии. Однако, Google Play всё ещё предлагает оптимизировать приложение.

Будем работать над этим.

Чтобы добавить текст для очередного обновления нажимаем на загруженный файл в консоли:

И используем ссылку "Добавить сведения" для заполнения информации об обновлённой версии.

Кажется, всё.

Далее: Работа с экспериментальными версиями (beta и alpha тестирование).