Я пробовал и искал несколько дней и не смог найти никакого решения для моей проблемы:
Я пытаюсь установить файл .kl в /system/usr/keylayout, чтобы переназначить некоторые клавиши клавиатуры для моего приложения. У меня есть правильный файл .kl в правильном формате: Vender_XXXX_Product_XXXX.kl, и он работает, если я скопирую его с помощью корневого проводника.
Но я хочу, чтобы он был установлен (без рута), установив мое приложение. Что означает, что он должен быть включен в файл .apk и скопирован во время установки!?
До сих пор мой подход заключался в использовании получателя и намерения QUERY_KEYBOARD_LAYOUTS. Для этого необходим файл .kcm. Это не сработало с моим телефоном (Galaxy S3). Не знаю почему но не показывает в настройках пункт PHYSICAL_KEYBOARD settings :(
В любом случае, я думаю/надеюсь, что лучший способ - это NDK: я попытался использовать ndk и смог интегрировать некоторые собственные c в свое приложение, но не «исходные» файлы, такие как мой файл .kl. Я надеялся, что файл device.mk каким-то образом сможет скопировать мой файл .kl в /system следующим образом:
Это вообще возможно? Использовать NDK для автоматической «установки» файла в /system при установке фактического apk? И если да, то как вы это делаете? Я запутался во всем makefile и NDK. Никогда не используйте это раньше, и я очень плохо разбираюсь в c.
Если кто-то из вас, ребята, знает, как сделать то, о чем я прошу... пожалуйста, дайте мне знать. Было бы очень признательно!