- Полный список
- Встроить приложение в Android (Сделать приложение системным)
- Для чего встраивать приложения в Android?
- Быстрая интеграция пользовательских приложений в системные с помощью Link2SD
- Встраивание приложений в Android «стандартным способом»
- Прежде чем начинать встраивать приложения Android необходимо знать из чего же состоит приложение:
- Инструкция как встроить приложение в Android
- Для версий Android c 1.5 — по 4.4.4
- Для версий Android c 5.0 и новее
- Дополнительно о Встраивание и Экономии места
Полный список
— разбираемся, зачем нужна библиотека Support Library
— на примере фрагментов используем библиотеку v4
Support Library – библиотека, которая на старых версиях Android делает доступными возможности новых версий. Например, фрагменты появились только в третьей версии (API Level 11). Если вы хотите использовать их в своем приложении, это приложение не будет работать на более старых версиях Android, т.к. эти старые версии никогда не слышали про класс android.app.Fragment. Какие тут есть выходы?
1) Добавить в код проверку версии системы и в зависимости от результата выполнять тот или иной код. Т.е. если версия 11 и выше, используем фрагменты, иначе Activity. Вполне выполнимо, но не совсем просто. Можно ошибиться и запутаться. Т.е. при запуске приложения на старых версиях приходится либо отказываться от новшеств и пользоваться тем, что есть, либо изобретать велосипед и реализовывать новшества самому.
2) Можно забить на старые версии и позиционировать свое приложение только для новых версий. Тогда теряется ощутимая часть потенциальных пользователей вашей программы. На момент написания этого материала на версии Android ниже третьей сидит 69,7% пользователей. Ощутимая такая потеря получится — больше, чем две трети! Конечно, со временем все перейдут на третью и последующие версии, и смогут использовать ваше приложение. Но к тому времени выйдут новые версии Android с новыми возможностями, вы их реализуете в своем приложении и, тем самым, снова отсеете часть пользователей. В общем, вырисовывается постоянная дискриминация пользователей по версии.
3) Использовать библиотеку Support Library. Она содержит классы — аналоги новшеств последних версий, которые будут работать на старых версиях.
На данный момент есть две библиотеки v4 и v13. Цифра здесь указывает минимальный API Level на котором можно использовать эту библиотеку. Т.е. приложение, использующее v4, может быть запущено на API Level >= 4 и ему будут доступны новшества, которые входят в эту библиотеку (например, фрагменты).
Библиотеки эти периодически обновляются, в них добавляются новые классы, реализующие новые возможности. Так что, если вы не нашли в них сейчас то, что вам нужно, вполне возможно, что это появится в будущем. Самый яркий пример – ActionBar. Его, к сожалению, в v4 пока нет. И я, честно говоря, не знаю, появится ли. Умельцы пишут свои аналоги, т.е. реализуют первый вариант из рассмотренных нами выше и предоставляют нам возможность использовать его, как третий вариант. Ведь мы вовсе не обязаны ограничиваться стандартной Support Library от гугла. Можно использовать и другие библиотеки от других разработчиков. Самая популярная реализация ActionBar – это ActionBarSherlock.
Разобрались с тем, что такое Support Library и зачем она нужна. Теперь посмотрим, как ее использовать. Работать будем с v4.
Если у вас библиотека загружена, а версия ADT одна из последних, то Eclipse сам автоматически добавит в проект эту библиотеку. И вы сразу после создания нового проекта сможете ее использовать.
Если не все так радужно, то надо скачать и добавить самим. Несложный и недолгий процесс. На официальном сайте есть инструкция. И я здесь просто напишу перевод этой инструкции со своими дополнениями. Но не спешите все это проделывать! Возможно, вам это не понадобится.
Чтобы загрузить библиотеку:
Откройте SDK Manager, найдите там Android Support Library и установите ее
Библиотека v4 загрузится в папку: /extras/android/support/v4/android-support-v4.jar
Чтобы добавить библиотеку в ваш проект:
В проекте создайте папку libs. Он должна быть в корне, на том же уровне, что и res, bin и прочие. Поместите в папку libs загруженную библиотеку android-support-v4.jar. Далее, правой кнопкой на этой библиотеке в папке libs, и в контекстном меню Build Path > Add to Build Path.
Обновите манифест, указав в нем, что минимальная требуемая версия для вашего приложения – API Level 4.
При создании нового проекта проверьте — если папка libs с библиотекой в проекте есть, то выше приведенная инструкция вам не нужна.
Из рассмотренных нами в прошлых уроках классов, библиотека содержит Fragment, FragmentManager, FragmentTransaction, ListFragment, DialogFragment.
Полный список объектов можно посмотреть, открыв API на сайте. Вот основной пакет — android.support.v4.app. Слева видны остальные.
Напишем простейший пример использования фрагмента в приложении для API Level 10.
Project name: P1141_SupportLibrary
Build Target: Android 2.3.3 (не 4.1 . )
Application name: SupportLibrary
Package name: ru.startandroid.develop.p1141supportlibrary
Create Activity: MainActivity
Сначала layout fragment.xml:
Пустой красный LinearLayout.
Далее создаем класс — MyFragment. Если мы сделаем это по старинке, наследуя android.app.Fragment, то в созданном классе получим ошибку The import android.app.Fragment cannot be resolved. И это логично, т.к. в Android 2.3.3 (API Level 10) нет такого класса.
И, собственно, именно тут и пригодится нам библиотека v4. Будем наследовать ее класс android.support.v4.app.Fragment при создании фрагмента
Только FrameLayout, который будет контейнером для фрагмента.
Далее есть один нюанс. Чтобы в старой версии Android использовать фрагменты из Support Library, нам необходимо использовать не стандартное Activity, а также из библиотеки – android.support.v4.app.FragmentActivity.
В коде видим еще одно отличие. FragmentActivity использует метод getSupportFragmentManager (а не getFragmentManager) для получения FragmentManager. В остальном, работа с фрагментами не будет отличаться от прошлых уроков. Различие будет только в секции import. Если раньше было, например так:
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
(это работает только на новых версиях)
то с использованием v4 будет так:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
(это будет работать и на старых и на новых версиях)
Цель проста — работоспособность вашего приложения на старых версиях, которые ничего не знают про фрагменты. Старые версии будут использовать для работы с фрагментами классы библиотеки v4. Но, разумеется, этот код без проблем сработает и на последних версиях Android.
Все сохраняем, запускаем приложение и видим работающий фрагмент на Android версии 2.3.3
Ради интереса запустим его же на Android 4.1
Итого, благодаря библиотеке, один и тот же код работает на старых и новых версиях и использует возможности новых версий.
На следующем уроке:
— учитываем ориентацию и размер экрана в работе приложения
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Источник
Встроить приложение в Android (Сделать приложение системным)
Если вы только осваиваете Android и хотите создать свою собственную прошивку либо просто встроить приложение в Android, то прошу под кат.
Для того чтобы Встроить приложение в Android необходимы права Root:
Для чего встраивать приложения в Android?
- Создание кастомных прошивок
- Замена внешнего вида (лаунчера)
- Замена стандартных встроенных менее функциональных программ, на любимые программы аналоги (продвинутый калькулятор, будильник)
- Разгрузить память для установки приложений.
Внимание! Прежде чем вы начнете, советуем прочитать статью «Как увеличить память телефона за счет карты памяти (без root)» , чтобы не возиться с Root правами, а также не сломать Android.
Быстрая интеграция пользовательских приложений
в системные с помощью Link2SD
Данный способ понравиться многим пользователям Android, потому как не требует от вас каких либо навыков и происходит за пару кликов!
- Установите приложение Link2SD с магазина Google Play
- Запустите только, что установленное приложение и предоставьте Root права
- Выберите приложение которые вы хотите встроить в прошивку (сделать системным), после чего, нажать на кнопку
и выбрать «Преобразовать в системное«
- После интеграции приложения перезагрузите Android
- Проверьте работу приложения, если возникли проблемы, то сбросьте его кеш или данные.
Встраивание приложений в Android «стандартным способом»
Прежде чем начинать встраивать приложения Android необходимо знать из чего же состоит приложение:
1. Приложение Andoroid имеет название и файл расширение. Например: Name.apk где Name имя, а apk расширение.
2. Android приложения легко открываются с помощью архиватора (WinRar или 7zip)
3. В некоторых приложениях есть папки lib (если открыть приложение архиватором)
В данной папке может находится под-папки с названием
- Aremeabi – данная папка для архитектуры Arm в целом если отсутствует Aremeabi-v7a если данная папка присутствует, то только для Arm V6
- Aremeabi-v7a – данная папка только для архитектуры Arm V7
- Mips — только для архитектуры MIPS
- Mips64 — только для архитектуры MIPS64
- X86 – только для архитектуры x86
- X64 – только для архитектуры x64
(на какой архитектуре ваш Android устройство, автор не знает, к сожалению он не экстрасенс, уточняйте в интернете)
В данных папках есть файлы имеющие расширение *.SO
Инструкция как встроить приложение в Android
Для версий Android c 1.5 — по 4.4.4
Прежде чем встроить приложение в Android скачайте и установите приложение — файловый менджер Root Browser
1. Откройте Root Browser
Приложения которые встроены в систему Android находятся по пути
/system/app/приложение.apk
Приложения которые установлены пользователем в Android находятся по пути:
/data/app/приложение.apk
Скопируйте необходимое приложение с /data/app/ и переместите его в /system/app/,но не забывайте, что многие приложения содержат файлы *.SO и которые необходимо встроить по пути: /system/lib/
Первый вариант, чтобы получить необходимый *.SO файл это скопировать приложение на ПК и извлечь необходимое.
Второй вариант это перейти по пути /data/data/папка_название_приложения/lib/файл.so и переместить необходимый файл(ы) в /system/lib/
После этих несложных процедур, перезагрузите Android смартфон или планшет и приложение встроено! В конце статьи будет представлена еще дополнительная информация по более экономичному встраиванию приложений.
Для версий Android c 5.0 и новее
С версии Android 5.0 Lolipop компания Google внесла существенные изменения в установку приложений. Если ранее приложения APK размещались в одной папке /XXX/APP , то с версии Android 5.0 каждое отдельно установленное приложение размещается в собственной папке с необходимыми ему либами (*.SO) если эти либы конечно же имеются у приложения.
Теперь по сравнению с версиями Android 1.5 — 4.4.4 в Android 5.0 нет необходимости встраивать либы (*.SO) по пути /system/lib/ достаточно перенести папку с /data/app/Nazvanie_Prilogenia в /system/app/Nazvanie_Prilogenia (приложения которые встроены в систему Android находятся по пути /system/app).
Переходим в /data/app
Находим папку с необходимым приложением
копируем папку с содержимым в раздел /system/app
Перезагрузить Android чтобы все изменения вступили в силу!
Дополнительно о Встраивание и Экономии места
Так как некоторые приложения имеют либы (*.SO) — содержатся в самом приложение, а также распаковываются при установке, все это сильно отбирает место для установки. Перед встраиванием сайт Android +1 рекомендует скопировать приложение на компьютер, открыть его с помощью архиватора (не разархивировать) и скопировать необходимые либы (*.SO) и после удалить папку lib с APK приложения. Далее встроить приложение в Android и перезагрузить.
Вот и все! Больше статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!
Источник