应用程序在调试模式下工作,但从apk安装时不能。与存储有关

时间:2016-08-08 19:27:42

标签: android android-debug

当我通过调试模式在模拟器或常规Android手机上运行我的应用程序时,一切正常。但是,通过签名应用程序安装它会导致它(当我相信)访问或者试图访问内部私有存储中未保存的文件时崩溃。

我有

<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />

在我的清单文件中以防万一。

我的应用程序在res文件夹中有一些原始测试数据,这些数据被复制到内部存储,通常由用户通过常规使用创建。一切都在调试模式下工作但不正常。 (通过使用应用程序保存工作,所以我猜问题是访问原始资源或将它们复制到内部存储)

可能是什么原因?

这是raw的原始代码 - &gt;内部转移

File file = getApplicationContext ().getFileStreamPath(userTemp);
        try {
            InputStream inputStream = getResources().openRawResource(
                    getResources().getIdentifier(user, "raw", getPackageName())
            );

            FileOutputStream fileOutputStream = new FileOutputStream (file);

            byte buf[]=new byte[1024];
            int len;
            while((len=inputStream.read(buf))>0) {
                fileOutputStream.write(buf,0,len);
            }

            fileOutputStream.close();
            inputStream.close();
        } catch (IOException e1) {}

user和userTemp只是简单的字符串文件名

编辑:只是为了确认,res文件存在于apk文件中

EDIT2:文件从原始资源复制到内部应用程序存储但由于某种原因无法读取,但正如我之前所说,调试运行良好

0 个答案:

没有答案