может быть, это вопрос новичка, но я изо всех сил пытаюсь найти ответ...
Мне нужно установить некоторые apk в качестве системных приложений. В прошлом (до Android 5.01) я привык просто нажимать adb на /system/app, и все работало нормально.
Сегодня я узнал, что с Android 5.1 это больше не работает, поскольку приложения в этом каталоге больше не являются простыми apk, а представляют собой папки с каталогом arm с фактическими apk и другими файлами.
Как мне теперь установить в качестве системных приложений имеющиеся у меня apks?
У меня есть исходники только для 1 из них.
Заранее спасибо за вашу поддержку
С уважением, Блэкдир
В Android API уровня 21+ (5.1+) изменения в /system/app не будут автоматически распознаваться менеджером пакетов. Вместо этого вы должны попробовать /system/priv-app.
Предположим, ваше приложение называется Foo.apk, создайте папку в /system/priv-app/Foo и установите для нее chmod 755 и chown 0.0. Затем поместите в него свой файл apk (путь должен быть /system/priv-app/Foo/Foo.apk) и добавьте к нему chmod 644 & chown 0.0. Тогда он будет распознан менеджером пакетов, а если нет, просто перезагрузите устройство, и приложение появится.
В некоторых прошивках моды в /system/app БУДУТ распознаваться автоматически, но это зависит от обстоятельств.
u:object_r:system_file:s0
через chcon
. Подводя итог, после установки соответствующих прав собственности и разрешений нужно выдать chcon u:object_r:system_file:s0 /system/priv-app/Foo
и chcon u:object_r:system_file:s0 /system/priv-app/Foo/Foo.apk
.
Гримуар
chown 0.0 /system/priv-app/yourFolder
и ее разрешения с помощьюchmod 744 /system/priv-app/yourFolder
(yourFolder
будет имя папки). Наконец, сделайте то же самое для APK с теми же владельцами,0.0
но с644
разрешениями, затем перезагрузитесь и посмотрите, работает ли он.