1

I want to extend Android 2.3 Keyboard (LatinIme). I get source code from https://android.googlesource.com/platform/packages/inputmethods/LatinIME

After fixing some errors(missed classes) and packages rename, i can install it as bonus keyboard. But it doesn't work.

I see:

ERROR/AndroidRuntime(23089): Caused by: java.lang.NoClassDefFoundError: com.android.inputmethod.latin.BinaryDictionary

but name of my package is com.keyboard.latin and I delete all links to this missed class.

Can someone give me an advice how to solve this problem?

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
Stepango
  • 4,721
  • 3
  • 31
  • 44
  • Very hard to answer without seeing the code, but note that the native C++ code also has a reference to it, in native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp : `const char* const kClassPathName = "com/android/inputmethod/latin/BinaryDictionary";` – johusman Feb 24 '11 at 07:29
  • You are completely right. By change this link and recompile native classes I solve this problem. – Stepango Feb 26 '11 at 04:44

1 Answers1

0

You can take some inspiration from scandinavian-keyboard, it solves similar issue (I think it's Eclair or Froyo though, not updated to work with Gingerbread). It reimplements missing parts. If you look at its sources you'll see classes like Dictionary, UserDictionaryProvider etc. There's some C code too.

Pēteris Caune
  • 43,578
  • 6
  • 59
  • 81