0

Мой пакет: com.abdulwasaetariq.odnvt. У меня есть папка с именем tessdata в res/raw/Android - путь к исходной папке в папке Res не найден

В API Тессеракт, есть эта INIT функция, документация и прототип:

/* @param datapath the parent directory of tessdata ending in a forward 
*   slash 
* @param language an ISO 639-3 string representing the language(s) 
* @return <code>true</code> on success 
*/ 
public boolean init(String datapath, String language) { 
    return init(datapath, language, OEM_DEFAULT); 
} 

Глядя в Интернете сказал мне, что способ дать путь к файл ресурсов, как: android.resource://com.packageName

Но я получаю ошибку java.lang.IllegalArgumentException: Data path does not exist!

Вот мой соответствующий код:

private static void initTess() { 
    String dataPath = "android.resource://"+ context.getPackageName() + "/raw/"; 
    Log.d(TAG, "initTess: dataPath: " + dataPath); 
    tessBaseAPI.init(dataPath,"eng"); 
} 

context.getPackageName() делает на самом деле получить меня правильное имя пакета com.abdulwasaetariq.odnvt

Интересно, где неисправность.

ответ

3

Проблема заключается в том, что android.resource:// не является допустимым способом доступа к resources в папке res/raw/ вашего приложения, поэтому сообщение об ошибке вызывается недействительным путем.

Попробуйте переместить файлы на assets/ и с помощью AssetManager, чтобы скопировать файлы на ваше устройство.

+0

Ahan. Я знаю об подходе AssetManager. Но что, если я специально хотел обратиться к необработанному файлу в папке res/raw? Должен быть способ, конечно, верно? –

+0

Да - щелкните по первой ссылке в моем ответе и просмотрите Таблицу 1. – rmtheis