Error al cargar diccionario al modificar android LatinIME en Eclipse

Estoy intentando agregar un diccionario inglés al teclado. Hasta ahora tengo:

  • Echa un vistazo a la fuente de google
  • Importó la carpeta java en eclipse como un código existente
  • Añadido bibliotecas de soporte

Puedo ejecutar y construir el código, pero cuando selecciono el teclado se bloquea (todavía no he añadido el diccionario inglés o de otro tipo). El mensaje de error es el siguiente:

FATAL EXCEPTION: InitializeBinaryDictionary android.content.res.Resources$NotFoundException: File res/raw/main_en.dict from drawable resource ID #0x7f070003 at android.content.res.Resources.openRawResourceFd(Resources.java:1082) at com.android.inputmethod.latin.BinaryDictionaryGetter.loadFallbackResource(BinaryDictionaryGetter.java:92) at com.android.inputmethod.latin.BinaryDictionaryGetter.getDictionaryFiles(BinaryDictionaryGetter.java:328) at com.android.inputmethod.latin.DictionaryFactory.createMainDictionaryFromManager(DictionaryFactory.java:55) at com.android.inputmethod.latin.DictionaryFactory.createMainDictionaryFromManager(DictionaryFactory.java:83) at com.android.inputmethod.latin.Suggest$1.run(Suggest.java:115) Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed at android.content.res.AssetManager.openNonAssetFdNative(Native Method) at android.content.res.AssetManager.openNonAssetFd(AssetManager.java:429) at android.content.res.Resources.openRawResourceFd(Resources.java:1079) ... 5 more 

Los métodos relevantes en el callstack están abajo:

 public static ArrayList<AssetFileAddress> getDictionaryFiles(final Locale locale, final Context context) { final boolean hasDefaultWordList = DictionaryFactory.isDictionaryAvailable(context, locale); BinaryDictionaryFileDumper.cacheWordListsFromContentProvider(locale, context, hasDefaultWordList); final File[] cachedWordLists = getCachedWordLists(locale.toString(), context); final String mainDictId = DictionaryInfoUtils.getMainDictId(locale); final DictPackSettings dictPackSettings = new DictPackSettings(context); boolean foundMainDict = false; final ArrayList<AssetFileAddress> fileList = CollectionUtils.newArrayList(); // cachedWordLists may not be null, see doc for getCachedDictionaryList for (final File f : cachedWordLists) { final String wordListId = DictionaryInfoUtils.getWordListIdFromFileName(f.getName()); final boolean canUse = f.canRead() && hackCanUseDictionaryFile(locale, f); if (canUse && DictionaryInfoUtils.isMainWordListId(wordListId)) { foundMainDict = true; } if (!dictPackSettings.isWordListActive(wordListId)) continue; if (canUse) { final AssetFileAddress afa = AssetFileAddress.makeFromFileName(f.getPath()); if (null != afa) fileList.add(afa); } else { Log.e(TAG, "Found a cached dictionary file but cannot read or use it"); } } if (!foundMainDict && dictPackSettings.isWordListActive(mainDictId)) { final int fallbackResId = DictionaryInfoUtils.getMainDictionaryResourceId(context.getResources(), locale); final AssetFileAddress fallbackAsset = loadFallbackResource(context, fallbackResId); if (null != fallbackAsset) { fileList.add(fallbackAsset); } } return fileList; } public static AssetFileAddress loadFallbackResource(final Context context, final int fallbackResId) { String str = context.getApplicationInfo().sourceDir; AssetFileDescriptor afd = context.getResources().openRawResourceFd(fallbackResId); if (afd == null) { Log.e(TAG, "Found the resource but cannot read it. Is it compressed? resId=" + fallbackResId); return null; } try { return AssetFileAddress.makeFromFileNameAndOffset(str, afd.getStartOffset(), afd.getLength()); } finally { try { afd.close(); } catch (IOException e) { // Ignored } } } 

Estoy usando ADT 22 descarga de developer.goole.com

El problema es que no hay diccionario (ni siquiera la EN), por lo que el golpe no funciona. Cuando abro los diccionarios de complementos, aparece el mensaje "No hay diccionarios disponibles" en la lista.

Estoy probando en Samsung Galaxy Nexus con stock 4.3 rom y Nexus One Rom cook 4.0.4

Estoy desarrollando en Ubuntu 12.04.3 LTS

¿Alguna idea de cuál podría ser el problema?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.