Package для мобильного приложения



Дата10.03.2022
өлшемі2,84 Mb.
#134937
түріЗанятие
Байланысты:
15. Package для мобильного приложения


ahpc.edu.kz moodle.ahpc.edu.kz
Занятие #15
Тема: Package для мобильного приложения
ahpc.edu.kz moodle.ahpc.edu.kz
Package можно перевести как пакет.
Пакет приложения мы прописываем в визарде создания приложения.
Android Studio
ahpc.edu.kz moodle.ahpc.edu.kz
Android Studio
Потом его можно найти в манифесте.
ahpc.edu.kz moodle.ahpc.edu.kz
Как-то не особо значимая цель ...
Может быть он используется как-то еще? Оказывается да. Более того, пакет - это крайне важная вещь при создании приложения. Пакет является идентификатором приложения в системе. Т.е. когда вы устанавливаете приложение, система смотрит его пакет и ищет уже установленное приложение с таким пакетом. Если не нашлось, то все ок и приложение устанавливается.
А вот если нашлось, то тут в дело вступает механизм подписи приложения ключом, который мы рассмотрели на прошлом уроке. Система проверяет, если установленное и устанавливаемое приложения подписаны одним и тем же ключом, то, вероятнее всего, это означает, что оба приложения создал один автор. И устанавливаемое приложение является обновлением установленного, т.к. их пакеты и ключи одинаковы. Система устанавливает новое приложение, заменяя старое - т.е. обновляет старое.
Если же система определила, что приложения были подписаны разными ключами, то это значит, что приложения были созданы разными авторами, пакеты совпали случайно, и новое вовсе не является обновлением старого. В этом случае при установке нового, старое было бы заменено, а значит потеряно (а не обновлено), т.к. приложения абсолютно разные. И система не дает поставить новое приложение, пока не будет вручную удалено старое.
ahpc.edu.kz moodle.ahpc.edu.kz
Проведем пару тестов. Я создам два приложения Package1 и Package2 с одинаковым пакетом.
Установлю первое. Оно появилось в списке.
ahpc.edu.kz moodle.ahpc.edu.kz
Теперь не удаляя первое, установлю второе.
Первое исчезло. Осталось только второе.
Система решила, что второе является обновлением первого (т.к. пакеты и ключи совпадают), поэтому первое благополучно снесла и заменила вторым. Собственно, это и происходит при обычном обновлении.
ahpc.edu.kz moodle.ahpc.edu.kz
Теперь подпишу Package2 другим ключом, чем оно было подписано изначально и попробую обновить через adb.
Параметр r здесь означает, что приложение надо переустановить, если оно уже существует.
Видим ошибку Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]. Система сверила ключи у установленного и устанавливаемого приложений, увидела, что они разные и решила, что это будет не обновление, а просто приложение от другого разработчика ломится с тем же пакетом. И вполне разумно решила не удалять имеющееся приложение, а предупредить пользователя, что не совпадают ключи.
ahpc.edu.kz moodle.ahpc.edu.kz
Если закинуть это приложение на эмулятор и поставить через файловый менеджер, получим примерно то же сообщение.
ahpc.edu.kz moodle.ahpc.edu.kz
Из вышесказанного можно сделать следующий вывод: ваш ключ, которым вы подписываете приложение ни в коем случае нельзя терять или давать кому-либо.
Если вы ключ потеряете, то ваше приложение навсегда потеряет возможность быть обновленным. Даже если вы создадите новый ключ с тем же алиасом, паролем и данными владельца, это все равно будет другой ключ. И подписанная им следующая версия приложения будет рассматриваться системой не как обновление, а как попытка приложения от другого разработчика заменить ваше приложение и не даст его установить, пока не удалите установленное.
Если же вы ключ кому-то предоставите, то этот человек сможет сделать обновление для вашего приложения без вашего участия. И если этот человек имеет доступ и к вашей учетке разработчика в маркете, то он сможет залить туда свою версию вашего приложения.
Также не забывайте пароли от хранилища и от ключа. Это будет равносильно тому, что вы потеряли ключ. В общем, относитесь к вашим ключам со всей серьезностью.
ahpc.edu.kz moodle.ahpc.edu.kz
Практическое задание


https://startandroid.ru/ru/uroki/vse-uroki-spiskom/223-urok-124-chto-takoe-package-dlja-prilozhenija.html
ahpc.edu.kz moodle.ahpc.edu.kz
Рефлексия
  • Что такое Package?
  • Android studio какие языки поддерживает?
  • Какие плюсы и минусы есть у Android Studio?

ahpc.edu.kz moodle.ahpc.edu.kz
Спасибо за внимание!

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет