Как скомпилировать Android-приложение с системными правами
Мне нужно скомпилировать приложение с системными правами для использования целевого приложения com.android.settings. Пока я пытаюсь запустить apk, я получаю сообщение об ошибке
Не удалось выполнить тестовый прогон: Отказ от прав: пусковая аппаратура ComponentInfo {com.jayway.test/android.test.InstrumentationTestRunner} от pid = 354, uid = 354 не разрешено потому что пакет com.jayway.test делает не имеют подписи, соответствующей target com.android.settings
Как я могу скомпилировать мое приложение с системными правами?
Ответы
Ответ 1
После некоторого поиска я обнаружил, как подписать мое приложение с помощью системного (платформенного) ключа.
Системные подписи находятся в каталоге <root-of-android-source-tree>/build/target/product/security
. Вы можете использовать их для подписания приложения с системными привилегиями.
Ответ 2
ссылка:
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 signed.apk) (сначала вы должны поместить все файлы в одну папку) или сделать сертификат с ключом keytool-importkeypair, чтобы сделать google_certificate.keystore, а затем
ссылка для загрузки и объяснения keytool-importkeypair:
https://github.com/getfatday/keytool-importkeypair
- После этого выполните установку вашего подписанного системного приложения на ваше устройство. Удачи!!!
Ответ 3
Ансер для меня просто удалял файл debug.keystore. Место хранения по умолчанию для AVD находится в ~/.android/в OS X и Linux, в C:\Documents and Settings \.android\в Windows XP и в C:\Users \.android\в Windows Vista.
В Eclipse я "очистил" проект, удалил приложение и TestApp из эмулятора, и - voila все снова получилось отлично.