Android - 找不到Res文件夹中的Raw文件夹路径

时间:2016-07-01 09:38:32

标签: android tesseract android-resources illegalargumentexception tess-two

我的套餐是:com.abdulwasaetariq.odnvt。 我在tessdata

中有一个名为res/raw/的文件夹

在Tesseract 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

我想知道故障在哪里。

1 个答案:

答案 0 :(得分:3)

问题是android.resource://不是访问应用res/raw/文件夹中resources的有效方式,因此您看到的错误消息是由无效路径引起的。

尝试将文件移至assets/并使用AssetManager将文件复制到您的设备上。