2011-02-24 87 views
1

我想擴展Android 2.3鍵盤(LatinIme)。我從https://android.googlesource.com/platform/packages/inputmethods/LatinIMEAndroid薑餅鍵盤

源代碼修復一些錯誤(缺課)和包重命名,我可以安裝它作爲獎金鍵盤之後。但它不起作用。

我看到:

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

,但我的包的名字是com.keyboard.latin我刪除所有鏈接到本缺課。

有人可以給我一個建議如何解決這個問題?

+0

很難在沒有看到代碼的情況下回答,但請注意,本地C++代碼也有它的參考,在native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp中: 'const char * const kClassPathName =「com/android/inputmethod /拉丁語/ BinaryDictionary「;' – johusman 2011-02-24 07:29:28

+0

你是完全正確的。通過改變這個鏈接並重新編譯原生類,我解決了這個問題。 – Stepango 2011-02-26 04:44:18

回答

0

你可以從scandinavian-keyboard得到一些靈感,它解決了類似的問題(我認爲它是Eclair或Froyo,但未更新與薑餅一起使用)。它重新實現缺少的部分。如果你看看sources,你會看到類似Dictionary,UserDictionaryProvider等。還有一些C代碼。

+0

錯過的類真的不是問題。很容易找到它使用谷歌。 – Stepango 2011-02-26 04:40:35