/ / Оновлення системного додатку Android, з / без підпису платформи - android, система, google-play, підпис, платформа

Оновлення системи Android із платформою / без підписів - Android, система, google-play, підпис, платформа

У мене є системний додаток, який OEM встановлює із зображенням системи, але підписаний мною. Якщо я завантажую оновлений apk на ринок, чи додасть ринковий додаток беззвучно встановити це оновлення автоматично?

Якщо мій системний додаток замість цього підписаний зпідпис платформи замість моєї, це означає, що будь-які оновлення також повинні бути підписані підписом платформи, правильно? Чи можна оновити підписаний на платформі apk з ринку?

Відповіді:

6 за відповідь № 1

Давайте в першу чергу уточнимо різницю між усіма типами програм.

Системні програми - це ті, які знаходяться в /system/app папку. Ці програми мають прапор ApplicationInfo.FLAG_SYSTEM набір. У звичайному пристрої розділ /system встановлюється для доступу лише для читання. Таким чином, системну програму не можна оновити, оскільки вона розташована в місці, доступному лише для читання. Ці програми можна оновлювати лише як частину оновлення OTA.

Звичайні програми розміщені на розділі / data, який читається-записується. Таким чином, ці програми можуть бути оновлені системою.

Тепер давайте поговоримо про підписи. Деякі компоненти Android захищені дозволами типу підпису. Це означає, що якщо ви хочете отримати доступ до компонента, захищеного цим типом дозволу, ваша заявка повинна бути підписана тим самим сертифікатом, що і захищений компонент. Це справедливо не тільки для системи Android, але і для додатків Android, тобто у вашій програмі ви можете мати компонент, захищений дозволом на підпис, таким чином, лише додатки, що мають однаковий підпис, матимуть доступ до цього компонента.

Третя теза, яку нам потрібно відповісти на ваше запитання, полягає в тому, що Android забороняє встановлювати пакети з однаковою назвою пакета, але різні підписи.

Таким чином,

У мене є системний додаток, який OEM встановлює із зображенням системи, але підписаний мною. Якщо я завантажую оновлений apk на ринок, буде ринковий додаток мовчки автоматично встановлює це оновлення?

Якщо мій системний додаток замість цього підписаний ззамість цього підпис платформи моїх, це означає, що будь-які оновлення також повинні бути підписані з підпис платформи, правильно? Чи можна оновити apk на платформі з Ринок?

Відповідь - ні. Хоча програми, які знаходяться в / system / app, можна підписати сертифікатом, який відрізняється від платформового, оновлення цих додатків можливе лише за допомогою оновлення системи.

Щоб вирішити свою проблему, ви можете змінитиназву пакета вашої програми, підпишіть її (якщо програма не потребує доступу до захищених компонентів Android) або платформи (якщо програма повинна мати доступ до захищених компонентів і якщо у вас є доступ до цього підпису) і поставте цю програму в ринок. Потім ви отримаєте оновлення вашої програми через ринок.


0 для відповіді № 2

Система не буде розглядати apk в / data / app як оновлення, якщо підписник не збігається з файлом в / system / ap