Android 无法访问扩展文件内容

Android 无法访问扩展文件内容,android,apk-expansion-files,Android,Apk Expansion Files,我正在使用这段代码,但我无法访问扩展文件的内容,我想显示来自扩展文件的gif图像,我该怎么办 字符串packageName=getPackageName(); 文件root=Environment.getExternalStorageDirectory() Play APK expansions files library是完全开源的,您可以看到 看起来stage1_popup.gif不在您的obb文件中。要调查它,为什么不使用从您的设备上获取该文件并查看其实际包含的内容。或者下载源代码并连接到

我正在使用这段代码,但我无法访问扩展文件的内容,我想显示来自扩展文件的gif图像,我该怎么办

字符串packageName=getPackageName(); 文件root=Environment.getExternalStorageDirectory()


Play APK expansions files library是完全开源的,您可以看到

看起来stage1_popup.gif不在您的obb文件中。要调查它,为什么不使用从您的设备上获取该文件并查看其实际包含的内容。或者下载源代码并连接到IDE,这样您就可以进入getInputStream()调用并查看错误所在。

如中所述,
zipSourceFile
无法处理太多太小的文件,
ZipFile
。所以试着把你的文件分成更多的目录

此外,很可能没有任何名为
stage1\u popup.gif的文件

或者,如果文件存在,您可以通过
zipResourceFile.getAllEntries()
和findout获取所有条目

                File expPath = new File(root.toString() + "/Android/obb/" + packageName);

                try {
                    if (expPath.exists()) {
                        String strMainPath = expPath
                                + File.separator
                                + "main."
                                + getPackageManager().getPackageInfo(
                                getPackageName(), 0).versionCode + "."
                                + packageName + ".obb";

                        File f = new File(strMainPath);

                        if (f.exists()) {
                            Log.e("Path ", "=====>Exists");
                        } else {
                            Log.e("Path ", "=====> Not Exists");
                        }


                        ZipResourceFile zip = new ZipResourceFile(strMainPath);
                        InputStream iStream = zip.getInputStream("stage1_popup.gif");

                        BitmapFactory.Options option = new BitmapFactory.Options();
                        option.inPurgeable = true;

                        Bitmap bitmap = BitmapFactory.decodeStream(iStream, null, option);
                        Glide.with(SampleDownloaderActivity.this).load(bitmap).into(image);
                    }
                } catch (Exception e) {

                }