Hi,
I want to make some changes to LatinIME. I got the code from git repository-
git clone https://android.googlesource.com/platform/packages/inputmethods/LatinIME
But I don't know how to build the apk file from the code. If anyone has build the LatinIME from the code, can you please share instructions.
Specifically I want to know how to build the dictionary tools (I guess I would need ndk), how to build the native code (again I guess it would required ndk) and finally how to build the java code by using the lib file from native code.
I tried creating Android app project in eclipse (using existing code option) by giving root directory as LatinIME/java
I was able to compile but since it didn't have libjni_latinime.so, it crashed. I then got the .so file from emulator and put it in the libs/armeabi-v7a folder. Now I get this 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
10-15 12:54:55.289: E/AndroidRuntime(32253): at android.content.res.Resources.openRawResourceFd(Resources.java:994)
10-15 12:54:55.289: E/AndroidRuntime(32253): at com.mindstrong.inputmethod.latin.BinaryDictionaryGetter.loadFallbackResource(BinaryDictionaryGetter.java:92)
10-15 12:54:55.289: E/AndroidRuntime(32253): at com.mindstrong.inputmethod.latin.BinaryDictionaryGetter.getDictionaryFiles(BinaryDictionaryGetter.java:328)
10-15 12:54:55.289: E/AndroidRuntime(32253): at com.mindstrong.inputmethod.latin.DictionaryFactory.createMainDictionaryFromManager(DictionaryFactory.java:55)
10-15 12:54:55.289: E/AndroidRuntime(32253): at com.mindstrong.inputmethod.latin.DictionaryFactory.createMainDictionaryFromManager(DictionaryFactory.java:83)
10-15 12:54:55.289: E/AndroidRuntime(32253): at com.mindstrong.inputmethod.latin.Suggest$1.run(Suggest.java:115)
10-15 12:54:55.289: E/AndroidRuntime(32253): Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
10-15 12:54:55.289: E/AndroidRuntime(32253): at android.content.res.AssetManager.openNonAssetFdNative(Native Method)
10-15 12:54:55.289: E/AndroidRuntime(32253): at android.content.res.AssetManager.openNonAssetFd(AssetManager.java:428)
10-15 12:54:55.289: E/AndroidRuntime(32253): at android.content.res.Resources.openRawResourceFd(Resources.java:991)
10-15 12:54:55.289: E/AndroidRuntime(32253): ... 5 more
Can anyone please help me out to build LainIME?
thanks a lot!