我一直在使用CMU Shpinx开发应用程序。我之前没有遇到任何问题,但突然之间,我无法将资产与我的外部目录同步。这个问题产生了问题。
root = syncAssets(getApplicationContext(), "models");
并且堆栈跟踪在这里。
11-12 19:55:53.440: W/System.err(30395): java.io.FileNotFoundException: /models/dictation/6111.dic: open failed: ENOENT (No such file or directory)
11-12 19:55:53.440: W/System.err(30395): at libcore.io.IoBridge.open(IoBridge.java:416)
11-12 19:55:53.440: W/System.err(30395): at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
11-12 19:55:53.440: W/System.err(30395): at java.io.FileOutputStream.<init>(FileOutputStream.java:73)
11-12 19:55:53.440: W/System.err(30395): at edu.cmu.pocketsphinx.SphinxUtil.copyAsset(Unknown Source)
11-12 19:55:53.440: W/System.err(30395): at edu.cmu.pocketsphinx.SphinxUtil.copyAsset(Unknown Source)
11-12 19:55:53.440: W/System.err(30395): at edu.cmu.pocketsphinx.SphinxUtil.copyAsset(Unknown Source)
11-12 19:55:53.440: W/System.err(30395): at edu.cmu.pocketsphinx.SphinxUtil.syncAssets(Unknown Source)
11-12 19:55:53.440: W/System.err(30395): at edu.cmu.pocketsphinx.demo.Recognizer.onCreate(Recognizer.java:175)
11-12 19:55:53.440: W/System.err(30395): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2382)
11-12 19:55:53.440: W/System.err(30395): at android.app.ActivityThread.access$1600(ActivityThread.java:137)
11-12 19:55:53.440: W/System.err(30395): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
11-12 19:55:53.440: W/System.err(30395): at android.os.Handler.dispatchMessage(Handler.java:99)
11-12 19:55:53.440: W/System.err(30395): at android.os.Looper.loop(Looper.java:137)
11-12 19:55:53.440: W/System.err(30395): at android.app.ActivityThread.main(ActivityThread.java:4827)
11-12 19:55:53.440: W/System.err(30395): at java.lang.reflect.Method.invokeNative(Native Method)
11-12 19:55:53.440: W/System.err(30395): at java.lang.reflect.Method.invoke(Method.java:511)
11-12 19:55:53.440: W/System.err(30395): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
11-12 19:55:53.440: W/System.err(30395): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
11-12 19:55:53.440: W/System.err(30395): at dalvik.system.NativeStart.main(Native Method)
11-12 19:55:53.440: W/System.err(30395): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
11-12 19:55:53.440: W/System.err(30395): at libcore.io.Posix.open(Native Method)
11-12 19:55:53.440: W/System.err(30395): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
11-12 19:55:53.440: W/System.err(30395): at libcore.io.IoBridge.open(IoBridge.java:400)
11-12 19:55:53.440: W/System.err(30395): ... 18 more
我确信资产在那里,但我不确定路径 /models/dictation/6111.dic 是正确的 ?如果是,它应该运作良好。是什么导致这种狂野?
任何帮助将不胜感激!
的 - 更新 - 的
我后来发现sdcard的状态是按照定义的here
共享的字符串| MEDIA_SHARED |存储状态,如果介质未安装,并通过USB大容量存储共享。
那我该如何安装sdcard?
答案 0 :(得分:1)
好的,我解决了这个问题。现在,如果未启用外部目录,则会抛出异常。
为了解决您的问题,您应该从USB拔下设备或连接它以进行USB调试而不是“作为媒体设备”。在Nexus 4上有一个顶级菜单,您可以向下滑动并选择另一个安装选项。