无法与我的外部SD卡同步

时间:2013-11-12 12:00:08

标签: android cmusphinx

我一直在使用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?

1 个答案:

答案 0 :(得分:1)

好的,我解决了这个问题。现在,如果未启用外部目录,则会抛出异常。

为了解决您的问题,您应该从USB拔下设备或连接它以进行USB调试而不是“作为媒体设备”。在Nexus 4上有一个顶级菜单,您可以向下滑动并选择另一个安装选项。