我已经尝试和搜索了几天,但无法为我的问题找到任何解决方案:
我正在尝试在 /system/usr/keylayout 中安装 .kl 文件以重新映射我的应用程序的一些键盘按键。我有正确格式的正确 .kl 文件:Vender_XXXX_Product_XXXX.kl,如果我使用根资源管理器复制它,它就可以工作。
但我希望通过安装我的应用程序来安装它(无需root)。这意味着它必须包含在 .apk 文件中并在安装过程中复制!?
到目前为止,我的方法是使用接收器和 QUERY_KEYBOARD_LAYOUTS 意图。
为此,需要 .kcm 文件。这不适用于我的手机(Galaxy S3)。我不知道为什么,但它没有在设置中显示 PHYSICAL_KEYBOARD 设置项:(
无论如何,我认为/希望更好的方法是通过 NDK:
我尝试使用 ndk 并能够将一些本机 c 集成到我的应用程序中,但没有像我的 .kl 文件这样的“源”文件。
我希望 device.mk 文件能够以某种方式将我的 .kl 文件复制到 /system ,如下所示:
设备.mk
产品_复制_文件 +=
$(LOCAL_PATH)/Vendor_XXXX_Product_XXXX.kl:system/usr/keylayout/Vendor_XXXX_Product_XXXX.kl
这有可能吗?在安装实际的 apk 时使用 NDK 自动将文件“安装”到 /system 吗?
如果是这样,你该怎么做?我对整个 makefile 和 NDK 感到困惑。以前从来没有用过它,我对 c 很不好。
如果你们中有人知道如何做我所要求的事情......请告诉我。这将不胜感激!
用 apk 包安装 .kcm 文件并非不可能。事实上,布局应用程序就是这样做的。您的 QUERY_KEYBOARD_LAYOUT 走在正确的轨道上。
我想安装一个 .kl 文件,就像你一样,但我找不到任何关于它的好信息。因此,我只是在 .kcm 文件中使用了 map 关键字,它具有完全相同的效果。
在这里查看我的源代码,其中我允许用户添加 se_sv_dvorak 布局 kcm,而无需 root 手机:https://github.com/innsmouthrain/se_sv_dvorak https://github.com/innsmouthrain/se_sv_dvorak
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)