Я пытаюсь установить приложение в папку system/app устройства. Это необходимо сделать, поскольку я пишу программу QAT, и тесты должны выполняться с некоторыми привилегиями, недоступными для сторонних приложений.
У меня уже есть ключ подписи прошивки устройства, и мне нужно установить для свойства sharedUserId приложения значение android.uid.system . Однако он продолжает выдавать мне сообщение об ошибке «INSTALL_FAILED_SHARED_USER_INCOMPATIBLE».
Любые идеи о том, как я могу это исправить?
Если у вас нет root-прав, чтобы следовать описанной Демизи процедуре ручной установки, приложение должно быть подписано тем же ключом, которым подписано ПЗУ; то есть тот же ключ, которым подписаны существующие системные приложения. Это мера безопасности: в противном случае любой мог бы написать приложение, которое будет работать с полным доступом к системе на любом устройстве.
Нашел эти инструкции по установке PowerManagerPro в /system/app
, просто немного изменил их. (Примечание: сначала установите приложение в /data/app
, как и любое другое приложение, и вам потребуется рутированное устройство.)
Откройте приложение эмулятора терминала и выполните следующую команду, чтобы скопировать приложение на SD-карту:
су cp /data/app/ ваш.apk /sdcard/ ваш.apkЕсли вы не можете найти приложение в
/data/app
try/data/apps-private/
. Затем удалите приложение с устройства.Выполните следующие команды в эмуляторе терминала, чтобы перемонтировать
/system
каталог для чтения/записи и установить приложение в/system/app
каталог:су mount -o перемонтировать, rw -t yaffs2 /dev/block/mtdblock3 /system cp/sdcard/ ваш.apk /система/приложениеЕсли вы предпочитаете использовать adb со своего компьютера, выполните следующие команды:
adb перемонтировать adb shell cp /sdcard/ваш.apk / system/app
Вы можете использовать уязвимость мастер-ключа .
Выберите приложение, потеря или замена которого не повлияет на использование вами устройства. Возьмите его APK и найдите способ изменить его содержимое, а также вставьте файлы своего приложения. Ничего не перезаписывайте в оригинальном APK, а попробуйте сделать 2 записи одного и того же файла в заголовке ZIP. Затем вы можете установить модифицированный APK поверх оригинального. Он унаследует разрешения от исходного, но будет работать так, как вы задумали.
Мэтью Рид
Архит