我想对LatinIME进行一些更改。我从git仓库获得了代码-

git clone https://android.googlesource.com/platform/packages/inputmethods/LatinIME

但是我不知道如何从代码中构建apk文件。如果有人从代码中构建了LatinIME,可以请您分享说明。

具体来说,我想知道如何构建字典工具(我想我需要ndk),如何构建 native 代码(再次我想需要ndk),以及最后如何通过使用来自 native 的lib文件来构建Java代码代码。

我尝试通过将根目录设置为能够编译的LatinIME/java来在eclipse中创建Android应用程序项目(使用现有代码选项),但由于它没有libjni_latinime.so,因此崩溃了。然后,我从模拟器获得了.so文件,并将其放在libs/armeabi-v7a文件夹中。现在我得到这个异常:

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-压缩中不包含扩展名。瞧,字典现在正在运作。不确定现在字典未压缩时显示的分辨率有多好,但这至少是朝正确方向迈出的一步?

09-30 18:16