我在这里找到了Android软键盘的源代码:https://android.googlesource.com/platform/packages/inputmethods/LatinIME/+/master
我决定将其编译为APK。
我的过程是:
1]使用默认活动创建一个Android项目-无需进行任何更改。
2]将键盘的Java程序包复制到我的项目中(令人惊讶的是,在我移动了一些放错位置的文件后,此方法起作用了)
3]删除项目的资源文件夹,并将其替换为键盘的资源文件夹。然后,重新添加我的项目专用资源。
这一切都令人惊讶地运作良好。但是,我遇到以下错误:
我不知道为什么会发生此错误,因为我用Android键盘的整个资源文件夹替换了项目的资源文件夹(然后重新添加了一些基本的xml文件)。
此外,我检查了“ resources”文件夹下的“ values”文件夹,发现我具有正确的“ attrs.xml”文件。
“ attrs.xml”文件包含“缺少”属性,例如:
<attr name="state_left_edge" format="boolean" />
<attr name="state_right_edge" format="boolean" />
<attr name="state_has_morekeys" format="boolean" />
为什么无法识别“ attrs.xml”文件?我该如何解决?
值得注意的是,我添加了一个“ styles.xml”文件,以便可以编译我的应用程序。那会破坏项目吗?
以下是完整的“ attrs.xml”文件和3个存在错误的xml文件:https://drive.google.com/open?id=1jRqas-jjWDKH7p7JehbExavBhfjaS6hn
如果需要,我还可以将项目上传到github或提供其他文件。