我想对 LatinIME 进行一些更改。我从 git 存储库中获得了代码-
git 克隆 https://android.googlesource.com/platform/packages/inputmethods/LatinIME
但我不知道如何从代码中构建 apk 文件。如果有人从代码中构建了 LatinIME,您能否分享一下说明。
具体来说,我想知道如何构建字典工具(我想我需要 ndk)、如何构建 native 代码(我再次猜想它需要 ndk)以及最后如何使用 lib 构建 java 代码来自 native 代码的文件。
我尝试通过将根目录作为 LatinIME/java 在 Eclipse 中创建 Android 应用程序项目(使用现有代码选项),我能够编译,但由于它没有 libjni_latinime.so,因此它崩溃了。然后我从模拟器中获取了 .so 文件并将其放在 libs/armeabi-v7a 文件夹中。现在我得到了这个异常(exception):
10-15 12:54:55.289: E/AndroidRuntime(32253): FATAL EXCEPTION: InitializeBinaryDictionary
10-15 12:54:55.289: E/AndroidRuntime(32253): android.content.res.Resources$NotFoundException: File res/raw/main_en.dict from drawable resource ID #0x7f070003
最佳答案
我想我可能已经解决了这个问题...
在另一个项目中遇到了类似的问题,其中资源由于文件扩展名而被不必要地压缩,我将字典 (.dict) 重命名为 .jet - 一个从压缩中排除的扩展名。瞧,字典现在正在工作。不确定现在字典未压缩时所看到的分辨率有多好,但至少这是朝着正确方向迈出的一步?
关于Android LatinIME 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19373833/