В целях ручного тестирования пользовательского интерфейса на устройствах Android 6.0 и 7.0 я использую ярлык для доступа к языковым настройкам через ADB, а затем вручную выбираю один из трех языков ar_DZ, en_GB, fr_FR.
adb shell am start -n com.android.settings/.Settings\$LocalePickerActivity
Вопрос: можно ли автоматизировать задачу смены локали системы (без рута) через ADB?
Это решение не использует adb напрямую, но достигает конечного результата, используя автоматизацию на нерутированных устройствах.
Macrodroid - предпочтительный выбор автоматизации для меня, поскольку он прост и свободен до 5 макросов.
Предварительные шаги
Установите Macrodroid и предоставьте все разрешения, которые он запрашивает
Действия, требуемые OP, требуют root. Macrodroid предлагает способ сделать это без рута, используя методы adb , описанные здесь . По сути, это предоставление WRITE_SECURE_SETTINGS
и CHANGE_CONFIGURATION
выполнение следующих команд
adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
с последующим
adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION
Перезагрузитесь, чтобы убедиться, что команды обновлены в приложении.
Создание макросов и тестирование
Триггер: выберите пустой триггер
Действие: Установить язык → Французский → Франция (соответствует fr_FR)
Ограничения: оставьте пустым
Протестируйте его, выбрав Test Macro из трехточечного меню макроса. Язык системы должен измениться на французский. Сохраните макрос, например , французский . Создайте два похожих макроса для двух других вариантов.
Создание ярлыка на главном экране
Обычно, если вы долго нажимаете на домашний экран, вы найдете значок для коллекции виджетов. Среди них вы найдете виджеты Macrodroid. Одним из них являются ярлыки Macrodroid . Перетащите его на главный экран, он спросит вас, какой макрос он должен быть назначен, при отображении списка макросов. Выберите макрос и переименуйте виджет, например, французский. При нажатии на этот виджет выполняется соответствующий макрос. Повторите для других макросов. Если вы используете пользовательскую программу запуска, вам нужно будет найти, как получить доступ к коллекции виджетов.
Примечания
Выбор языка в раскрывающемся меню может быть реализован, но для этого потребуется другой макрос. Кроме того, этот метод с одним ярлыком на рабочем столе для каждого языка делает его простым и легким в отладке.
Этот метод не будет работать на Oreo (вы не получаете действие с установленным языком , возможно, из-за того, как оно реализовано)
Массачусетс
Массачусетс
Массачусетс
бишайамс