Я пытаюсь установить системное приложение из своего java-кода, но пока безуспешно.
Вот что я сделал до сих пор:
android:sharedUserId="android.uid.system"
в манифесте.Я пытался (и пытался, а затем еще немного) для Runtime.getRuntime.exec("su")
. Я намерен смонтировать системный раздел как rw
, выполнить cat
для apk, а затем создать системный раздел ro
. Ниже приведен список команд:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
кошка /sdcard/application.apk > /system/app/application.apk
mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
Здесь application.apk — это приложение, устанавливаемое из приложения-установщика. Это приложение также подписано ключом платформы и имеет настроенный идентификатор sharedUserId.
INSTALL_PACKAGES
в манифесте.Я испробовал несколько вариантов формата exec(""), включая использование 'su -c'
с каждой командой. Я получил исключение Broken Pipe и исключение безопасности. Иногда я не получаю исключения, но файл не копируется.
Пожалуйста, дайте мне знать, что мне здесь не хватает. У кого-нибудь это работает?
Спасибо!