Подписание системного приложения Android (исследовательский проект) - PullRequest
3 голосов
/ 12 мая 2011

Я разрабатываю инструмент для проверки концепции внутреннего исследовательского проекта.

У нас есть особые потребности, которые можно удовлетворить, только запустив наше приложение как системное приложение, такое как приложение «Настройки» или «Телефон».

Правильно ли я считаю, что единственный способ запустить приложение под системным пользователем (uid = 1000) - установить в манифесте следующее:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.frogdesign.desktop" 
    android:sharedUserId="android.uid.system" > 

и подписать ли мою заявку сертификатом платформы?

Если это так, для данного телефона, например, Galaxy S, это потребует от нас подписи с использованием сертификата Samsung. Не случится, верно.

Так что, если мы рутируем телефон и прикрепляем к нему что-то вроде cyanogenmod, будет ли требуемый сертификат сертификатом платформы cyanogenmod?

Это вообще доступно?

1 Ответ

2 голосов
/ 12 мая 2011

Я вполне уверен, что вы не будете использовать ключ производителя.На моем Galaxy S приложение Gmail является системным приложением, и вы можете обновить его с Android Market (т.е. оно подписано, если оно вообще подписано Google, а не Samsung).

Если телефон деодексирован , вы можете просто переместить приложение на /system/app/ (или /system/priv-app/ в более новых версиях ОС).Для этого требуется рутованный телефон, чтобы вы могли смонтировать системный раздел как доступный для записи.Конечно, это связано с вашими настройками манифеста.Я не уверен, что этого достаточно, так как я сам этого не делал, но стоит попробовать.

...