Я разрабатываю приложение, реализующее собственный метод ввода (пользовательскую клавиатуру). Он собирается нормально, и я могу включить клавиатуру и переключиться на нее вручную, но каждый раз, когда я запускаю приложение из Android Studio, она отключается и снимается с выбора, затем мне приходится снова копаться в настройках и т. д.Я знаю, что есть команды для повторного включения с помощью ADB:
Код: Выделить всё
adb -d shell ime enable com.example.app/.services.Keyboard
Код: Выделить всё
adb -d shell ime set com.example.app/.services.Keyboard
Я пробовал:
Добавить пользовательскую задачу Gradle
Я добавил это в свой build.gradle.kts
Код: Выделить всё
afterEvaluate {
tasks.register("enableKB", Exec::class) {
val adbPath = android.sdkDirectory.resolve("platform-tools/adb").toString()
commandLine(
adbPath,
"-d",
"shell",
"ime enable com.example.app/.services.Keyboard"
)
commandLine(
adbPath,
"-d",
"shell",
"ime set com.example.app/.services.Keyboard"
)
}
tasks.named("installDebug").configure {
finalizedBy("enableKB")
}
}
Если я добавлю ее как перед запуском шаге в конфигурации приложения, он переходит ко второй команде (где задается клавиатура) и завершается сбоем из-за неизвестного метода ввода com.example.app/.services. Клавиатура не может быть выбрана для пользователя #0 . Кажется, первая команда запущена, но клавиатура тоже не была настроена.
Добавление дополнительной конфигурации запуска
Я попытался добавить сценарий оболочки в конфигурацию запуска Android Studio с обязательным запуском приложения, но запуск приложения блокируется.
Что я могу сделать? подумайте:
Я думаю, мне нужно иметь команды ADB после установки приложения, поскольку установка приложения, похоже, сбрасывает состояние методов ввода. Просто кажется, что конфигурация запуска выполняет установку/запуск за один большой шаг, и я не уверен, куда добавить эти команды и есть ли лучший способ.
Подробнее здесь: https://stackoverflow.com/questions/791 ... ch-from-an