• Подписаться на свежие статьи на android-lamer.ru

Проблема с разрешением экрана в приложениях созданных App Inventor и ее устранение

При создании приложений в App Inventor стоит принять во внимание одну особенность, касающуюся поддержки разрешения больших экранов Android устройств.

Суть в том — что в App Inventor по умолчанию используется небольшой экран с низким разрешением и если приложение, созданное в App Inventor запустить на планшетном компьютере, скажем с разрешением 2560 x 1600 точек, то картинка будет корявая, сильно увеличенная, размытая — приложение будет считать что это маленький экран телефона или типа того.

Screenshot_2013-11-23-12-36-43Вот как выглядит картинка размером 456 х 554 px на экране Samsung Galaxy Note 10.1  (разрешение экрана планшета 2560 x 1600 px). Видно что текст в названии окна размыт и кот жутко растянут — появились скролы, хотя по идее при таком разрешении экрана и такой картинке, кот должен легко помещаться на экране в полный рост.

Так происходит потому, что App Inventor при создании приложений по умолчанию не включает поддержку экранов с различным разрешением, х.з. почему.

Решение проблемы с разрешением экрана в App Inventor:

  1. Сохраняем готовое приложение созданное в App Inventor обычным способом к себе на комп в виде файла с расширением apk.
  2. Заходим на компе по пути: Панель управления\Все элементы панели управления\Система, жмем «дополнительные параметры системы», далее «переменные среды». В верхнем окне «переменные среды пользователя» создаем новую  - имя: JAVA_HOME, путь: C:\Program Files\Java\jdk1.7.0_45 (или тот где у вас установлен Java JDK. Жмем ок и все сохраняем.
  3. Скачиваем себе на комп архив программы SmartAPKTool. Распаковываем. Три файла из папки «это в папку windows» закидываем в папку windows на своем компе. Запускаем файл apktool.bat 1 раз и перезагружаем комп.

    SmartAPKTool

  4. Запускаем SmartAPKtool. На вкладке «Распаковать / Запаковать» — выбираем «распаковать» и указываем путь к созданному в п.1 файлу apk. Жмем «распаковать» — получаем рядом с файлом apk папку с тем же именем и файлами и папками внутри.
  5. Находим в полученной папке файл AndroidManifest.xml — открываем его (желательно блокнотом notepad++). Исправляем вначале файла по образцу, просто добавляем то, что выделено красным:

    <?xml version=»1.0″ encoding=»utf-8″?>
    <manifest xmlns:android=»http://schemas.android.com/apk/res/android» package=»appinventor.ai_Gareth_Haylings.mytest» android:versionCode=»1″ android:versionName=»1.0″ >
      <uses-permission android:name=»android.permission.INTERNET» />
      <uses-permission android:name=»android.permission.ACCESS_WIFI_STATE» />
      <uses-permission android:name=»android.permission.ACCESS_NETWORK_STATE» />
      <uses-sdk android:minSdkVersion=»3″ />
    <supports-screens android:resizeable=»true» android:smallScreens=»true» android:normalScreens=»true» android:largeScreens=»true» android:anyDensity=»false» />
      <application android:debuggable=»false» android:label=»mytest» android:icon=»@drawable/ya» android:theme=»@android:style/Theme.NoTitleBar»>
    <activity android:name=».Screen1″ android:windowSoftInputMode=»stateHidden» android:configChanges=»orientation|keyboardHidden»>…

    Сохраняем исправленный AndroidManifest.xml.

    SmartAPKTool_запаковать

  6. Выбираем «запаковать APK» ставим галочку напротив «Перенести файл в папку с сертификатами и подписать его», жмем кнопку «обзор папки» и указываем путь к папке «sign», которая лежит в корне папки «SmartAPKtool». Жмем «обзор» и указываем путь к файлу apktool.yml — он лежит в папке полученной при распаковке (смотри п.4). Жмем кнопку «Запаковать APK и подписать его».

    После этого в папке »sign» появится apk файл с префиксом sign — это и есть измененное наше приложение. Если его запустить теперь на планшетнике — оно будет выглядеть в соответствии с его разрешением — без потерь качества и без названия окна.

    разрешение экрана App Inventor

P.S. На некоторых компах, почему-то при распаковке apk файла происходит ошибка и AndroidManifest.xml получается пустым. То есть все делаю одинаково — на одном компе работает на другом нет. Если кто знает причину — пожалуйста напишите в комментах.

Метки , , , , . Закладка постоянная ссылка.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>