访问obb文件时出错

时间:2013-07-30 10:58:15

标签: java android apk-expansion-files

我在项目中使用文件扩展来访问obb文件夹中的音频,视频和图像文件。 我的Obb文件是以下形式: main.1.com.example.sample --->包含三个文件夹,名称为Images,Video and Audio --->现在它包含不同的.mp4,.mp3,.jpg文件 我在Android / obb / com.example.sample / main.1.com.example.sample中有我的obb文件 现在,我正在尝试使用以下代码访问Video文件夹中的.mp4文件:

ZipResourceFile expansionFile = null;
    try {
        expansionFile = APKExpansionSupport.getAPKExpansionZipFile(this,1,0);
         Log.e("expansion",">>>>>"+expansionFile);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    if(expansionFile!=null){
            AssetFileDescriptor fd = expansionFile.getAssetFileDescriptor("Video/v1.mp4");
            Log.e("AFDDDDDDDD",">>>>>"+fd);
        }

但我得到例外: 07-30 16:14:24.685:D / zipro(22542):Zip:未找到EOCD,/ storage /emulated/0 / Android / obb / com.example.sample / main.1.com.example.sample.obb不是拉链

  

07-30 16:14:24.685:W / zipro(22542):错误偏移(dir 191367812,大小1771611666,eocd -1)   07-30 16:14:24.685:W / System.err(22542):java.io.IOException   07-30 16:14:24.695:W / System.err(22542):at com.android.vending.expansion.zipfile.ZipResourceFile.addPatchFile(ZipResourceFile.java:353)   07-30 16:14:24.695:W / System.err(22542):at com.android.vending.expansion.zipfile.ZipResourceFile。(ZipResourceFile.java:189)   07-30 16:14:24.695:W / System.err(22542):at com.android.vending.expansion.zipfile.APKExpansionSupport.getResourceZipFile(APKExpansionSupport.java:67)   07-30 16:14:24.695:W / System.err(22542):at com.android.vending.expansion.zipfile.APKExpansionSupport.getAPKExpansionZipFile(APKExpansionSupport.java:77)

并且无法直接从obb文件访问。请提出一个解决方案以及为什么会遇到这种异常?

由于

1 个答案:

答案 0 :(得分:0)

我认为有人会知道这个坏偏移问题何时发生,但我没有得到单一回应。所以,我自己尝试了,花了很长时间,但问题解决了。

当取出assetfiledescriptor时,obb的文件路径错误,会发生Bad Offesets异常。这就是它在运行时发出此错误的原因。

我希望这个答案可以帮助别人,因为他们不应该面对没有得到任何答案或回应的同样问题。