Различия между разрешениями APK в разделах системы и продукта - PullRequest
0 голосов
/ 03 июля 2019

Согласно документу здесь:

https://source.android.com/devices/bootloader/product-partitions

Google говорит:

Раздел / product в Android 9 является расширением/ системный раздел .Поскольку существует слабый ABI между разделами / product и / system, оба должны быть обновлены одновременно, а ABI должен быть основан на System SDK.Если System SDK не покрывает все поверхности API между / product и / system, то OEM-производитель должен поддерживать свой собственный ABI между двумя разделами.

Разделы / product и / system могут иметь зависимостьдруг на друга.Тем не менее, тесты с Generic System Image (GSI) должны работать правильно без раздела / product.

Раздел / product не должен зависеть от раздела / vendor и не иметь прямого взаимодействия между разделом / product и/ vendor разрешен (применяется SEpolicy).

У меня проблемы с APK, который ведет себя не так, когда он находится в / product / priv-app vs / system / priv-app.

Сведения об APK:

  • с подписью с ключом платформы
  • работает как система (системный общий идентификатор в манифесте)
  • взаимодействует с сокетами (принадлежитсистема) on / data

AOSP:

  • многопользовательский режим

Проблема:

Когда APK размещенв (вручную, как просто в папке) / system / priv-app, все функции работают правильно.Приложение может общаться через сокет, помещенный в / data.Сокет принадлежит системе, а приложение (в многопользовательской среде) имеет 2 экземпляра.Тот, который работает как система, а другой как пользователь.Когда что-то происходит, это приложение пишет в сокет.Находясь в / system / priv-app, приложение может подключиться к сокету и успешно выполнить запись.Когда я генерирую новый чистый системный образ и вместо этого добавляю apk в / product / priv-app, я получаю отказано в разрешении на сокет.

Документы очень запутанные, и в течение многих лет Google еще не уточнила илиперечислите конкретные разрешения, основанные на размещении APK в системе.

Я читал о том, что некоторые приложения являются более системными, чем другие, но что это значит.Таким образом, все, что я знаю о разрешениях, это из моих собственных экспериментов.

Это поведение не описано ни в одном документе, и я хотел бы, чтобы кто-то еще, кто имел дело с priv-apps в разделе продукта, включил это и уточнитьесли возможно.

Спасибо!

...