Операционные системы

ApplicationguIDe apk что это

ApplicationguIDe apk что это

Самый сложный вредонос под Android

Коллеги из вирлаба написали статью о бэкдоре, с возможностями котого вы должны ознакомиться: http://www.securelist.com/ru/blog/207768863/Samyy_slozhnyy_Android_troyanets . В своей же статье я покажу, чем грозит заражение этим вредоносом.

Но для начала подобьем список особенностей и возможностей бэкдора:

  • Все строки DEX файла зашифрованы, а код обфусцирован
  • Создатели нашли ошибку в утилите dex2jar, которая обычно используется аналитиками для конвертирования APK-файла в JAR для анализа. Обнаруженная уязвимость нарушает процесс конвертации Dalvik байт-кода в Java байт-код, что в итоге затрудняет статический анализ
  • Создатели нашли ошибку в Android, связанную с обработкой AndroidManifest.xml. Они модифицировали AndroidManifest.xml таким образом, что тот не соответствовал заданному Google стандарту, но при этом, благодаря найденной уязвимости, правильно обрабатывался на смартфоне. В результате динамический анализ троянца крайне затруднен
  • Создатели нашли еще одну неизвестную ранее ошибку в Android, которая позволяет вредоносному приложению пользоваться расширенными правами DeviceAdministrator, но при этом отсутствовать в списке приложений, обладающих такими правами. В итоге удалить штатно приложение уже нельзя:

  • Вредонос не имеет интерфейса и работает в фоновом режиме
  • Отправляет SMS на премиум-номера. Ну еще бы
  • Скачивает и устанавливает на устройство другие приложения
  • Рассылает скаченные приложения по Bluetooth
  • Выполняет удаленные команды
  • Для расшифровки собственных важных функций использует ключ, который не зашит в него, а находится в коде страницы facebook.com. То есть без Интернета он не будет проявлять вредоносной активности
  • При обнаружении подключения к WiFi или по Bluetooth он может на 10 секунд заблокировать экран и выполнить свои действия. Выключение экрана ему нужно, чтобы пользователь в этот момент ему не помешал
  • Запрашивает права root
  • Включает WiFi при выключении экрана, если тот был выключен
  • Если аппарат не подключен к WiFi, то, при наличии прав root, ищет вокруг незапароленные точки и подключается к ним, чтобы через них подключиться к серверам хозяина
  • Передает некоторые данные хозяину (IMEI, номер телефона, баланс и другие)
  • Управляется как через Интернет, заходя на сервер хозяина, так и по SMS (ведь у хозяина уже есть номер телефона)
  • Впечатляет? Тогда под кат, где я продемонстрирую несколько скриншотов.

    Для исследования я взял Backdoor.AndroidOS.Obad.a с md5 E1064BFD836E4C895B569B2DE4700284. Вредонос не работает на эмуляторе. Возможно его удалось бы запустить после модификции эмулятора через командную строку, но мне проще использовать реальное устройство. Внимание! Не повторяйте такого!

    Приложение весит 83 килобайта. Установку я сделаю с принудительной проверкой приложения антивирусом от Google:

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

    Для проверки, заражена система или нет я буду использовать Kaspersky Mobile Security. Не потому что это реклама или что-то подобное. Просто наш продукт заведомо видит и детектирует угрозу. Удалить он все равно ее не сможет после того, как я разрешу использование функций Device Administrator. Вот как детектируется вредонос:

    Теперь самое опасное – запуск. Предварительно я удалю пароль для своей WiFi точки. SIM карта была извлечена еще раньше.

    Я запретил использование root прав. Тут и без них достаточно „счастья“ будет. На заднем плане идет обратный отсчет до появления экрана предоставление прав администратора устройства. Я предоставил эти права. Всё. Если ваш аппарт не рутован, то вы не сможете удалить это приложение. Вы уже видели, что кнопки удаления недоступны. Но даже если вызвать удаление иным образом, его нельзя завершить из-за уязвимости в Device Admin. Сейчас я попытаюсь вызвать удаление из Kaspersky Mobile Security.

    Как вы можете убедиться, в списке DA вредоноса действительно не видно. А значит права администратора системы забрать у него нельзя. Так что если вы не уверены в своих знаниях и опыте, лучше используйте проверенный антивирус. Любой. Главное, чтобы у него была заслуженная великолепная репутация. Как специалист, я бы рекомендовал антивирусы отечественных производителей, т.к. в России пока еще не забивают на реальные исследования и тестирования.

    Но это было отступление. Давайже же удалять вредоноса! Благо прав root у него нет, а возможность предоставить их проверенным средствам – есть. Все, используемое мною для нейтрализации угрозы имеет права root. Я не буду показывать этого, но после каждой попытки я проверяю, что вредонос остался/удален сразу двумя способами. Сначала я нахожу его в списке приложений (кстати, скриншот этого списка в шапке статьи), затем проверяю нашим ативирусом. Вердикт антивируса приоритетнее; я знаю как работает он и знаю, как работает система.

    Начну с неспециализированного приложения – с популярного файлового менеджера ES Explorer.

    Как видим, он не справился. Тогда попытаемся просто удалить вредоноса руками. Благо знаем имя пакета.

    Есть! Но получилось, что специальный инструмент в ES Explorer не справился, а „ручной режим“ справился. Делаем вывод – автомат в нем бесполезен.

    Второе приложение – специализированная утилита для удаления мусора, в том числе приложений – SD Maid.

    Вполне ожидаемо приложение видит вредоноса, но удалить не сумело. При этом сделало какое-то невнятное заявление о скрытии системного приложения. Ну, раз и тут автомат не справился, переходим на ручник.

    Но здесь нет папки вредоноса. Очевидно, что ручник не приспособлен вообще для серьезной работы, только для очистки мусора.

    Хорошо, раз в режиме „руками“ мы смогли снести заразу, попробуем сделать этот из adb shell, как меня попросили в Juick. Собственно, тут ждать проблем не приходится.

    ApplicationguIDe apk что это

    Kromasil Application Guide-что это? >>>

    Ответов в этой теме: 10

    18.10.2010 // 16:33:33 Редактировано 1 раз(а)


    Как такую фазу сварить?

    Волгин
    VIP Member
    Ранг: 1280

    Волгин
    VIP Member
    Ранг: 1280

    КонстантинС
    VIP Member
    Ранг: 2306

    18.10.2010 // 17:02:42 Редактировано 1 раз(а)

    Не понял.. что значит сварить? С18 колонка. Разделение на сверхкритическом флюидном.. Чисто с позиции науки режим фиг его знает какой, и зачем именно С18 там использовать – тоже не понятно.. и зачем там сверкритическая флюидная – непонятно вдвойне..

    Если Вас, Андрей, здесь что-то удивило, то я не очень понимаю что именно

    VelikanovAV
    Пользователь
    Ранг: 464

    18.10.2010 // 17:04:22 КонстантинС пишет:
    Не понял.. что значит сварить? С18 колонка. Разделение на сверхкритическом флюидном.. Чисто с позиции науки режим фиг его знает какой, и зачем именно С18 там использовать – тоже не понятно.. и зачем там сверкритическая флюидная – непонятно вдвойне..
    C позиции маркетинга понятно – вот какой сорбент, и тут его тоже можно использовать.

    Но сорбент хороший.

    18.10.2010 // 17:09:28 Редактировано 1 раз(а)

    КонстантинС пишет:
    Не понял.. что значит сварить? С18 колонка. Разделение на сверхкритическом флюидном.. Чисто с позиции науки режим фиг его знает какой, и зачем именно С18 там использовать – тоже не понятно.. и зачем там сверкритическая флюидная – непонятно вдвойне..

    Если Вас, Андрей, здесь что-то удивило, то я не очень понимаю что именно все ясно! Варить, значит готовить фазу, не видовал еще такого, и в Биохиммаке промолчали, и многие др опытные храматографисты. Вот так!

    18.10.2010 // 17:24:54 и зачем именно С18 там использовать – тоже не понятно.. и зачем там сверкритическая флюидная – непонятно вдвойне..
    Наверное, С18 как наиболее распространенный ОФ сорбент, а СКФ – говорят, такой вариант позволяет быстро проводить разделение при небольших давлениях (благодаря низкой вязкости флюида СО2). Задача ПАУ – одна из наиболее демонстрационных в экообъектах.

    Возможно, фирма хотела продемонстрировать, что их колонки годятся и для задач СКФ жидкостной хроматографии.

    КонстантинС
    VIP Member
    Ранг: 2306

    18.10.2010 // 18:35:50 Да непонятно как раз из-за специфики задачи. СКФ хроматограф – это штука довольно экзотическая, и применяется не абы для чего, а чаще для препаративных задач. Поскольку СО2 не надо утилизировать.. Соответственно, чаще ожидаешь встретить разделения именно с намеком на препаратив, например, хиральные разделения и т.д.

    Но ПАУ – это задача экологического мониторинга, поэтому такое приложение и непонятно. Возможно, внимание акцентировалось на том, что всего 40% ацетонитрила тратится.. но это бессмысленно, поскольку никто не будет покупать СКФ под экологические задачи, а имеющим СКФ и в голову не придет экологией заниматься..

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

    Чем и как реверсить китайский вирус?

    История следующая: заказали сестре телефон с китая cubot echo, пришёл, работает отлично, но спустя какое-то время пользования doctor web находит вирус в файле /system/app/CallerIdSearch/CallerIdSearch.apk. Скачал директорию на комп, там лежал этот файл и ещё один ./oat/armCallerIdSearch.odex. virustotal тоже показывает, что вирус https://virustotal.com/en/file/a6e09048369cdff4f092c445164e179f8013ea6265cd47. https://virustotal.com/en/file/801d5d45507a2257565ac90e12ae00088e9651233dde56. . Утилита file показала

    Лёгкий grep по исходникам находит те же url’ы, один из них в файле /com/umeng/analytics/AnalyticsConstants.java

    Вот и заказывай телефоны из Китая.

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

    А вот не экономил бы на сестре.

    А если серьезно, чистого ведра не накатить, да?

    А если серьезно, чистого ведра не накатить, да?

    А так можно что-ли? На каждом устройстве же своё оборудование. Насколько сложно будет собрать андроид из говна и палок? Никогда подобным не занимался.

    Ну я бы точно не осилил. На 4pda может подскажут чего. Ядро от текущего кривого ведра.

    Ещё проверь сетевую передачу. Посмотри куда данные шлёт. С какими сайтами поддерживает связь.

    Ну да, у меня cubot gt89, так там вечно что то при наличии интернета само ставилось, причем не из маркета и реклама на весь экран. Пока всякие gamecenter.apk и tomato.apk и прочее подобное не удалил, так все и было. Подвальные телефоны типа этого cubot имеют свойство иметь в прошивке кучу подобного.

    Cubot скорее всего на MTK, а mtk исходниками ядер делиццо за деньги только, квалки хоть не жадные, так отдают.

    Собрать свою прошивку довольно тяжело, на китайца не от васянов врядли что есть (а от васянов опаснее чем от китайцев). Самое простое — получить рут, раскурочить и выкорчевать всю гадость. Но тут новая подлянка — рутованный смарт сам по себе здоровенная дыры в безопасности, так что сестре или придется быстро овладеть правилами «айти-гигиены» (я со своим братом долго мучался), или лучше избавиться от этого смарта пока он новый и не коцаный — продадите подороже, может даже не в убыток.

    Найди у китайцев JEB слитый у HT. Он конечно старый, но пока еще юзабельный 🙂

    google намекнул MTK, что они не правы, и те быстренько всё открыли.

    Отсюда вывод: брать нужно только тех китаёз, для которых есть уже готовый CiannogenMod на 4pda.

    Остальных слать лесом.

    Рефабришед айфон стоит 20к.

    у кого-то суп жидкий, у кого-то жемчуг мелкий

    китаефон по почте можно купить за 3 (Три) тысячи российских рублей.

    Попробуй вынуть трояны из айфона

    История следующая: заказали сестре телефон с китая cubot echo

    Ты ненавидишь свою сестру? Зачем покупать ей некачественные и хреновоработающие вещи? Купи телефон нормального и более-менее проверенного бренда.

    Циан под этот девайс есть хоть?

    квалки хоть не жадные, так отдают.

    Qualcomm это американская капиталистическая компания, они уважают собственные лицензии, даже те что свободные.

    А MTK это китайская «коммунистическая» компания, тысячи таких компаний в Китае, девиз которых «украл и закрыл от других — ты молодец, обманул лаоваев».

    китаефон по почте можно купить за 3 (Три) тысячи российских рублей.

    Скупой платит дважды. А учитывая то, что уровень SAR в китайском ноунеймовом дерьме никто никогда не проверяет, а китайские инженеры лепят антенны абы как, то заплатит он своим здоровьем.

    P.S. в теме этого китайца на 4pda нету никаких кастомных ромов, только мод официальной прошивки. Зачем нужно было покупать такое унылое устройство? Вижу только одну причину — жадность.

    Я согласен, что приличный смарт можно купить сильно дешевле 20к руб. Спору нет.

    Но «Смартфон за 3-5к руб» – это кусок говна начиненный говно и говном обмазанный. Ужасные материалы, стремные экраны, тормоза, слабая начинка.

    Лучше троян только от Джобса, чем от от Брина + 100500 китайцев.

    От 5 уже более-менее. За 7 можно взять xiaomi redmi 3s 2/16 (4A и того дешевле).

    Ну вон в пикселе никаких китайских троянов, всё родное гугловое.

    Но и стоит он ближе к айфону, чем к 5к 😉

    Ещё проверь сетевую передачу. Посмотри куда данные шлёт. С какими сайтами поддерживает связь.

    Уже удалил ту директорию с телефона, пока вроде ничего нового не появилось, но конечно нет гарантии, что не появится и в будущем) Если смотреть, то в каком-нибудь эмуляторе, вроде и в прошивке с офф сайта есть это приложение.

    Найди у китайцев JEB слитый у HT. Он конечно старый, но пока еще юзабельный 🙂

    Там вроде триал есть. Спасибо, надо будет попробовать)

    Да там же всё на Java, никуда оно не шлёт. Пытается и зависает. Ну или очень медленно их передает, ну.

    Мне когда не охото было компьютер в качестве шлюза nat сервера делать, чтобы посмотреть какие данные от планшета идут, я использовал свою программу, которая на github’е лежит, называется psychic. Там опции, ввести адрес шлюза и адрес android, через несколько секунд данные будут проходить через свой компьютер и можно посмотреть, например в wireshark или tcpdump pcap файл, так как программа сохраняет в этом файле все пакеты. И вот с помощью этого я увидел к каким китайским сайтам идут попытки подключения и ограничил к этим доменам подключение в самом роутере.

    Как удалить системные приложения Аndroid (Андроид) без root

    При наличии root доступа можно удалить любое приложение, но root доступ может помешать использовать банковские и другие приложения. Поэтому будем удалять предустановленные приложения без получения root доступа. Всё, что потребуется, – это подключение к компьютеру и использование простых ADB (Android Debug Bridge) команд в терминале. ADB команды можно выполнять и при подключении без проводов, но для простоты рассмотрим только вариант подключения к компьютеру по USB кабелю.

    Предостережение: Удаление системных приложений может привести к нестабильной работе устройства, его перезагрузке или зависанию! Важно понимать какие приложения вы удаляете и зачем! Автор не несёт никакой ответственности за ваш смартфон или планшет. Выполняя шаги из инструкции ниже вы делаете это на свой страх и риск. Если у вас нет шаманского бубна и/или вы не знаете, как с ним правильно плясать, ни в коем случае не удаляйте системные мусорные приложения из Android.

    Как удалить мусорные системные приложения Android при помощи ADB shell без получения root доступа

    1. В Windows нужно установить USB drivers для вашего смартфона или планшета. В Linux этого не требуется.
    2. Скачайте бинарники ADB для вашей платформы (Windows, Mac, Linux). Теперь не нужно устанавливать Android SDK полностью для работы с ADB, достаточно скачать Android SDK Platform-Tools.

    В Ubuntu установить ADB и fastboot проще простого, достаточно выполнить следующую команду в терминале:
    sudo apt install android-tools-adb android-tools-fastboot

    fastboot в данном случае не понадобится.

    На Android смартфоне или планшете зайдите в «Настройки» (Settings) -> «О телефоне» (About Phone). Найдите «Номер сборки» (Build Number) и нажимайте на нём 7 раз, чтобы задействовать режим «Для разработчиков» (Developer Options).



    Зайдите в настройках в меню «Для разработчиков» (Developer Options), нажмите на пункт «Отладка по USB» (USB Debugging) и задейтсвуйте этот режим.



    Подключите смартфон или планшет к компьютеру, выбрав в качестве режима подключения «Передача файлов (MTP)» (file transfer – MTP). Режим только зарядки телефона не подойдёт.



    На компьютере выполните команду «adb shell». В Ubuntu в терминале достаточно набрать:
    adb shell

    В Windows можно нажать на папку с ADB правой кнопкой мыши и запустить командную строку в этой папке. После чего также выполнить «adb shell».

    Введите в терминале команду:
    adb devices



    Система запустит ADB демона (daemon). Возьмите в руки крест, очертите вокруг себя белый круг и три раза повторите: „Изыди“. Шучу, конечно же нужно повторить „изыди“ 7 раз 🙂 Если вы в первый раз запускаете ADB, то на смартфоне или планшете появится запрос, который попросит авторизовать соединение с компьютером. Можно поставить галочку, чтобы всегда доверять этому компьютеру, тогда при следующем подключении таких запросов возникать не будет. Доступ с компьютера конечно же нужно разрешить (хотя бы в этот раз).

  • Теперь при запуске команды «adb devices» в терминале должен появляться серийный номер вашего устройства. Если это так, то можно следовать дальше
  • Введите в терминале команду
    adb shell

    При успешно выполнении появится идентификатор устройства, за которым следует приглашение вводить команду. Например:
    adb shell
    G8232:/ $

    Посмотрите список доступных приложений:
    pm list packages

    Чтобы вывести список приложений для конкретного производителя, оператора мобильной связи, можно ввести следующую команду:
    pm list packages | grep ‚название_оператора/название_производите ля‘

    Например, для оператора sprint вводим следующую команду:
    pm list packages | grep ’sprint‘

    Для приложений Sony вводим
    pm list packages | grep ’sony‘

    Для приложений LG Electronics вводим
    pm list packages | grep ‚lge‘

    Можно искать приложения и по идентификатору из адресной строки на сайте google play. Например, com.google.android.apps.tachyon – это Google Duo (play.google.com/store/apps/details?id=c om.google.android.apps.tachyon).
    pm list packages | grep ‚com.google.android.apps.tachyon‘

  • Для удаления приложения «идентификатор_приложения» выполните следующую команду
    pm uninstall -k –user 0 идентификатор_приложения
  • Обратите внимание, что не все системные приложения можно безопасно удалить. Если избавиться от некоторых приложений, то телефон может перестать загружаться, постоянно перегружаться или потеряет определённую функциональность. Так что нужно понимать, что вы удаляете и зачем. К счастью, приложение удаляется не полностью, а лишь для конкретного пользователя. Чтобы восстановить функциональность, нужно сбросить настройки до заводских (при этом все приложения вернутся).

    С одной стороны, замечательно, что вы сильно не навредите устройству. Но с другой, получаем неполное удаление, при котором кэш и данные приложения остаются (за это отвечает ключ « -k »). А при получении обновлений по воздуху удалённые таким образом приложения всё равно обновляются. Если в команде опустить « -k –user 0», то она просто не выполнится. Для удаления приложения для всех пользователей нужен root доступ.

    Используя данный метод можно и избавиться от рекламных приложений Amazon на устройствах Amazon с рекламой.

    Я протестировал данный метод на Sony Xperia XZS, на котором удалил Spotify, Facebook, Amazon Shopping, Google Play Movies & TV, Google Play Music, Google Duo, Sony Playstation App, Sony NewsSuite, Sony What’s New, Sony Xperia Lounge:
    pm uninstall -k –user 0 com.spotify.music
    pm uninstall -k –user 0 com.facebook.katana
    pm uninstall -k –user 0 com.facebook.system
    pm uninstall -k –user 0 com.facebook.appmanager
    pm uninstall -k –user 0 com.amazon.mShop.android.shopping
    pm uninstall -k –user 0 com.google.android.music
    pm uninstall -k –user 0 com.google.android.videos
    pm uninstall -k –user 0 com.google.android.apps.tachyon
    pm uninstall -k –user 0 com.scee.psxandroid
    pm uninstall -k –user 0 com.sonymobile.email
    pm uninstall -k –user 0 com.sony.nfx.app.sfrc
    pm uninstall -k –user 0 com.sonymobile.entrance
    pm uninstall -k –user 0 com.sonyericsson.xhs

    На LG G Flex2 (LS996) удалил больше приложений: прогноз погоды, облачный сервис Box, кучу приложений Google (включая карты), а также множество бесполезных приложений Sprint и LG Electronics:
    pm uninstall -k –user 0 mobi.infolife.ezweather
    pm uninstall -k –user 0 com.box.android
    pm uninstall -k –user 0 com.google.android.videos
    pm uninstall -k –user 0 com.google.android.music
    pm uninstall -k –user 0 com.google.android.apps.plus
    pm uninstall -k –user 0 com.google.android.apps.books
    pm uninstall -k –user 0 com.google.android.talk
    pm uninstall -k –user 0 com.google.android.play.games
    pm uninstall -k –user 0 com.google.android.apps.magazines
    pm uninstall -k –user 0 com.google.android.apps.maps
    pm uninstall -k –user 0 com.google.android.street
    pm uninstall -k –user 0 com.maluuba.android.qvoice
    pm uninstall -k –user 0 com.sprint.voicemail
    pm uninstall -k –user 0 com.sprint.extension
    pm uninstall -k –user 0 com.sprint.ce.updater
    pm uninstall -k –user 0 com.sprint.dsa
    pm uninstall -k –user 0 com.sprint.w.prefact
    pm uninstall -k –user 0 com.lge.sprintextension
    pm uninstall -k –user 0 com.lge.voicecommand
    pm uninstall -k –user 0 com.lge.qmemoplus
    pm uninstall -k –user 0 com.lge.email
    pm uninstall -k –user 0 com.lge.mtalk.voicecommand
    pm uninstall -k –user 0 com.lge.voicecommand
    pm uninstall -k –user 0 com.lge.bnr
    pm uninstall -k –user 0 com.lge.lifetracker
    pm uninstall -k –user 0 com.lge.qvoiceplus

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

    Вместо удаления приложение можно отключить (disable), хотя для этого нужен root доступ:
    pm disable –user 0 идентификатор_приложения

    Чтобы включить его обратно, достаточно выполнить pm enable:
    pm enable –user 0 идентификатор_приложения

    Для просмотра списка отключенных приложений выполните:
    pm list packages –user 0 -d

    Для просмотра списка включенных приложений выполните:
    pm list packages –user 0 -e

    Также можно скрыть приложение (root доступ не нужен):
    pm hide –user 0 идентификатор_приложения

    А затем отменить сокрытие:
    pm unhide –user 0 идентификатор_приложения

    Если приложение нужно удалить, отключить или скрыть для другого пользователя, то можно найти его идентификатор, выполнив следующую команду:
    pm list users

    После этого в командах pm uninstall, pm disable, pm hidе используйте –user идентификатор_пользователя

    Например:
    $pm list users
    Users:
    UserInfo <0:Misha:13>running
    UserInfo <11:Masha:18>running

    $pm disable –user 11 com.cyanogenmod.filemanager
    Package com.cyanogenmod.filemanager new state: disabled-user

    Если работа с ADB shell в терминале слишком сложна для вам, то для блокировки/разблокировки Android приложений можно воспользоваться бесплатной программой Debloater (Windows, Mac OS). USB отладку на смартфоне/планшете придётся также включить. А для блокировки приложения будет достаточно отметить его галочкой и нажать на кнопку „Apply“. Прелесть программы Debloater заключается в том, что в нём можно экспортировать/импортировать список заблокированных/разблокированных приложений (так что можно сохранить их список и в следующий раз им воспользоваться). Но безусловно безопаснее не устанавливать лишнюю бесплатную программу, особенно если её исходный код не доступен.

    Публикация приложения

    Создание подписанного apk

    После создания приложения, его тестирования и отладки мы можем приступить к его публикации. Суть публикации заключается в создании файла с расширением .apk, которое будет представлять приложение, и его последующее размещение в Google Play Market или на других внешних сайтах. По умолчанию в процессе отладки и создания приложения файл apk уже создается, и мы можем его найти в папке проекта по пути Название_проектаappbuildoutputsapk. По умолчанию файл называется app-debug.apk и представляет debug-версию.

    Но для полноценно публикации данного файла может оказаться недостаточно. И нам еще дополнительно надо произвести некоторую подготовку проекта к релизу. Для это следует указать в файле манифеста у элемента установлены атрибуты android:versionCode и android:versionName . Также в файле манифеста элемент не должен содержать атрибута android:debuggable

    Кроме того, на этом этапе можно установить иконку для приложения, которая будет отображаться на рабочем экране гаджета, название приложения (атрибут android:label у элемента), а также можно задать лицензионное соглашение.

    В файле манифеста также следует определить название пакета (атрибут package элемента ), которое будет использоваться для приложения в дальнейшем. По умолчанию при разработке в Android Studio пакеты приложений начинаются с com.example. Не стоит оставлять данное название, так как название пакета будет служить уникальным идентификатором вашего приложения. Например, ниже в моем случае названием пакета служит „com.maverics.eugene.telephonelist“:

    При этом если в файлах кода java название пакета в начале файла также должно соответствовать пакету приложения.

    Установка требований

    На этапе подготовки к релизу также можно установить требования к API. Например, наше приложение имеет определеную минимальную версию ОС Android, поэтому мы можем установить в файле манифеста соответствующие атрибуты у элемента

    android:minSdkVersion — минимальная версия Android

    android:targetSdkVersion — оптимальная версия API

    android:maxSdkVersion — максимальная версия системы

    Например, пусть минимальная версия Jelly Beans 4.1.2, а оптимальная KitKat 4.4.4:

    Подпись приложения

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

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

    Во-первых, в Android Studio выберем в меню пункт Build -> Generate Signed APK . После этого нам откроется окно мастера:

    Нажмем на кнопку Create new. . После этого нам откроется окно создания ключа:

    Введем в поле Key store path путь к файлу сетификата, который будет создан. Если указанной папки не существует, то ее надо создать или определить существующую папку.

    В поле Password/Confirm указываем пароль.

    В поле Alias указываем псевдоним. Можно поставить произвольное название.

    В поле First and Last Name вписываем имя и фамилию. И далее пишим подразделение, организацию, город, страну и код страны.

    В конце нажимаем OK.

    После этого автоматически обновится первое окошко:

    Далее нажмем на кнопку Next:

    Финальное окно покажет нам путь к каталогу, где будет находиться подписанное приложение apk в release-версии. Нажмем на Finish.

    Теперь по указанному пути можно будет найти подписанный apk, который будет иметь название app-release.apk:

    Мы можем переименовать файл, сохранив его расширение и выложить в Play Market или на любой сайт или сразу загрузить на мобильное устройство. После загрузки на телефон/планшет достоточно нажать на него, и с помощью стандартного установщика пакетов приложение будет установлено. Правда, здесь также надо учитывать, что если мы устанавливаем приложение не из Play Market, то в настройках надо разрешить установку из других источниках – Безопасность->Неизвестные источники (Разрешить установку приложений из других источников)

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht.

    Schaltfläche "Zurück zum Anfang"