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



Дата10.03.2022
өлшемі2,84 Mb.
#134937
түріЗанятие
Байланысты:
15. Package для мобильного приложения
Жас электрик. сайыс сабақ, 1, Даулетова-Н. (16), coursewokr, тапсырма, 501, ТЕАй мазмуны (2), ЕМТИХАН сұрақтары, сұйық режимдері, (Lesson study) зерттеу сабақтары бойынша талдауы Оқу сапасын арттыру үшін топ мүшелерінің кәсіби дамуына ықпал ету және оқу үдерісін зерделеудегі дағдыларын қалыптастыру (9 сынып), Логикалық операциялар, МОО 02 ЗАДАНИЯ

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
әкімшілігінің қараңыз

    Басты бет