java - 从 Firebase 下载文件 |应用程序可以在 Debug模式下运行,但不能在 Release模式下运行

标签 java android firebase firebase-storage

我正在尝试下载 Firebase 存储目录中名为 1.pdf、2.pdf ... 的所有文件 该代码在 Debug模式下工作,但在 Release模式下不起作用。我一整天都被困在这个问题上。 我认为它可能是来自另一个类的线程,但说实话我不知道。

从 Firebase 获取文件的代码:

   for (int i = 1; i < 10000; i++) {
        StorageReference ref = storageRef.child("FirstTimeForms/" + i + ".pdf");
        File localFile = File.createTempFile("Form", ".pdf");
        FileDownloadTask dm = ref.getFile(localFile);
        int fileSize = Integer.parseInt(String.valueOf(localFile.length()/1024));

        if(fileSize > 0){
            fileManager.copyFile(localFile, new File("/sdcard/Download/Forms/" + i + ".pdf"));
        }else{
            return;
        }
    }

将从缓存下载的文件复制到 SD 的代码

  FileChannel inChannel = new FileInputStream(src).getChannel();
        FileChannel outChannel = new FileOutputStream(dst).getChannel();
        try
        {
            inChannel.transferTo(0, inChannel.size(), outChannel);
        }
        finally
        {
            if (inChannel != null)
                inChannel.close();
            if (outChannel != null)
                outChannel.close();
        }

最佳答案

将这些添加到您的 proguard-rules.pro

-keep class com.firebase.** { *; }
-keepattributes *Annotation*
-keepattributes Signature

-keep class YOUR_PACKAGE_NAME.YourActivity { *; }

关于java - 从 Firebase 下载文件 |应用程序可以在 Debug模式下运行,但不能在 Release模式下运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60995724/

相关文章:

android - Volley OAuth1.0认证

android - 缩小 Android 谷歌地图时群集标记计算错误

Java,关于缓存大量 GB 的策略有帮助吗?

android - 在android中以编程方式设置设备时间

java - 如何将共享驱动器中的 HTML 文件 "import"转换为我的 war 文件中的 JSP?

javascript - Firebase 存储 getDownloadUrl() "is not a function"

firebase - Flutter Firestore 同一文档的两个 StreamBuilder 算作 2 次读取?

android - 如何使用时间戳在Firebase中过滤结果?安卓系统

java - 计算 3D 中两点之间的距离

c# - 如何通过编程生成exe程序?