Как скомпилировать Android-приложение с системными разрешениями - PullRequest
22 голосов
/ 30 августа 2010

Мне нужно скомпилировать приложение с системными разрешениями, чтобы использовать целевое приложение com.android.settings.Пока я пытаюсь запустить мой apk, я получаю сообщение об ошибке

Не удалось выполнить тест: отказ в разрешении: запуск инструментария ComponentInfo {com.jayway.test / android.test.InstrumentationTestRunner} от pid = 354, uid = 354 не разрешено, поскольку пакет com.jayway.test не имеет подписи, соответствующей цели com.android.settings

Как я могу скомпилировать свое приложение с системными разрешениями?

Ответы [ 3 ]

30 голосов
/ 07 сентября 2010

После некоторого поиска я нашел, как подписать мое приложение системным ключом (платформой). Системные подписи находятся в каталоге <root-of-android-source-tree>/build/target/product/security. Вы можете использовать их для подписи вашего приложения с системными привилегиями.

1 голос
/ 12 октября 2017
  1. Добавить в манифест android: sharedUserId = "android.uid.system"

  2. Загрузить файлы системных подписей: platform.x509.pem platform.pk8

ссылка: https://android.googlesource.com/platform/build/+/android-8.0.0_r17/target/product/security/

Подписать приложение через терминал (java -jar signapk.jar platform.x509.pem platform.pk8 unsigned.apk signature.apk) (сначала необходимо поместить все файлы в одну папку) или создать сертификат с помощью keytool-importkeypairgoogle_certificate.keystore, а затем

ссылка для загрузки и объяснения keytool-importkeypair:

https://github.com/getfatday/keytool-importkeypair

После этого установите подписанное системное приложение на свое устройство.Удачи !!!
0 голосов
/ 04 февраля 2011

Для меня ответом было просто удалить файл debug.keystore.Место хранения по умолчанию для AVD находится в ~ / .android / в OS X и Linux, в C: \ Documents and Settings \ .android \ в Windows XP и в C: \ Users \ .android \ в Windows Vista.

В Eclipse я «очистил» проект, удалил приложение и TestApp из эмулятора и - вуаля, все снова заработало нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...