Приложения автоматизации не работают из-за функции конфиденциальности Android 13, которая работает по назначению

приложения для автоматизации сломаны Android 13 конфиденциальность push-новости
В настоящее время Android 13 распространяется на устройства Pixel . В этой новой версии Android Google более активно продвигает конфиденциальность и безопасность, и этот толчок распространяется на буфер обмена, поскольку пользователи часто копируют конфиденциальную информацию. В качестве средства предотвращения раскрытия этой конфиденциальной информации буфер обмена теперь автоматически очищается через час. Помимо прямых изменений в буфере обмена, Android 13 изменяет разрешение, которое использовалось в прошлом для доступа к содержимому буфера обмена окольным путем. Тем не менее, похоже, что дни этого взлома буфера обмена могут быть закончены.

Начиная с Android 10, большинство приложений больше не могут читать содержимое буфера обмена в фоновом режиме. За исключением компонента Android System Intelligence и приложений, подписанных с помощью сертификата платформы, для доступа к буферу обмена приложения должны находиться на переднем плане. Однако некоторым разработчикам приложений нужна функция автоматического чтения клавиатуры при каждом изменении ее содержимого, чтобы синхронизировать содержимое клавиатуры между устройствами или запускать автоматические процессы. Таким образом, разработчик приложения для автоматизации Tasker создал Join.

Join предлагает способ автоматического получения обновлений буфера обмена, полагаясь на обновления системного журнала. Присоединяйтесь к API, который отслеживает изменения буфера обмена, но каждый раз, когда буфер обмена изменяется, система отказывает приложениям в доступе к этому API, если они не находятся на переднем плане. Важно отметить, что каждый раз, когда система отказывает в доступе к этому API, она записывает запись в журнал, указывающую, что это разрешение было отклонено. Присоединение использует эту запись в журнале, хотя пользователи должны предоставить приложению разрешение READ_LOGS с помощью утилиты командной строки Android Debug Bridge (ADB). Используя это разрешение, Join просматривает системные журналы на наличие записей, запрещающих доступ к API изменения буфера обмена, которые указывают на то, что буфер обмена изменился. Всякий раз, когда Join обнаруживает эту запись в журнале, она отображает невидимое наложение на переднем плане и считывает содержимое буфера обмена.

разрешить Tasker однократный доступ к журналам устройства
Tasker запрашивает однократный доступ к журналам устройств в Android 13 (источник: Мишаал Рахман )

Android 13 ломает этот окольный способ автоматического чтения обновленного содержимого буфера обмена, изменяя разрешение на доступ к журналу. Приложениям, не внесенным в белый список, теперь должен быть предоставлен однократный доступ к системным журналам, а это означает, что Join не может постоянно находиться в фоновом режиме, отслеживая определенные записи журнала. Технически подкованные пользователи могут предоставить привилегии уровня оболочки Join с помощью библиотеки Shizuku, чтобы предоставить приложению постоянный доступ к журналу, но это добавляет еще один уровень сложности к и без того сложному способу чтения обновлений буфера обмена.

Google указал в ветке отслеживания проблем, что не будет исправлять поломку функции чтения буфера обмена Join. Компания объясняет свою позицию следующим образом: «Запрет фонового доступа работает по назначению. Мы бы не рекомендовали любое автоматическое тестирование, основанное на logcat. Попытка связаться с logcat без взаимодействия с разработчиком/пользователями не является предполагаемым вариантом использования». В то время как Join предоставил Android возможность синхронизировать содержимое буфера обмена между устройствами, Google представила новые функции общего доступа к буферу обмена в Android 13, которые могут заменить некоторые из этих функций. Однако пользователи Join должны знать, что обновление до Android 13 — это поездка в один конец , поэтому пользователи не смогут исправить Join, откатившись до Android 12.

Источник (англ.)

Поставить оценку
Кофебрейкер | Интернет-журнал