在android studio的项目中手动添加大文件

在android studio的项目中手动添加大文件,android,Android,我的项目是关于媒体播放器的。我想在我的项目中手动存储数百个mp3文件,但问题是我不知道在哪里可以放置大文件,即文件大小为300MB的项目。我已经在google上搜索过很多次了,但答案总是使用以下代码将文件放入ExternalDirectory File file = new File(getExternalFilesDir(null)+"/"); 此代码的问题是,下载文件后,您只能将文件存储到此目录中。因为我的项目是一个离线应用程序,所以我不需要互联网连接 这是我的第一次尝试。 我把我的一个m

我的项目是关于媒体播放器的。我想在我的项目中手动存储数百个mp3文件,但问题是我不知道在哪里可以放置大文件,即文件大小为300MB的项目。我已经在google上搜索过很多次了,但答案总是使用以下代码将文件放入ExternalDirectory

File file = new File(getExternalFilesDir(null)+"/");
此代码的问题是,下载文件后,您只能将文件存储到此目录中。因为我的项目是一个离线应用程序,所以我不需要互联网连接

这是我的第一次尝试。 我把我的一个mp3文件放在资产文件夹中,这个文件夹的大小是5mb,并复制到另一个目录
File File=new文件(getExternalFilesDir(null)+“/newFile.mp3”)请看下面

private void copyFile() {
            InputStream inputStream;
            try {
                inputStream = getAssets().open("raw/original.mp3");
                File file = new File(getExternalFilesDir(null)+"/newFile.mp3");

                OutputStream outputStream = new FileOutputStream(file);
                byte[] buffer = new byte[1024];
                int length;
                while ((length = inputStream.read(buffer)) > 0) {
                    outputStream.write(buffer,0,length);
                }
                outputStream.flush();
                outputStream.close();
                inputStream.close();
                Log.d(TAG, "copyFile: copied ");
            } catch (IOException e) {
                e.printStackTrace();
            }
    }
上面的代码运行良好。我可以看到文件已成功复制,但问题是在我的研究过程中,他们说asset文件夹或res/raw文件夹有存储限制,这意味着我只能在asset文件夹中存储文件大小小于5MB的文件(我不确定)

我的问题是,手动将mp3文件(300MB)存储到我的项目(无需下载文件)的最佳方式是什么


感谢并预告。

您没有试着将所有文件放在资产中作为测试吗?那么你就是那个告诉我们即使是最大的文件也能通过的人。那么.apk有多大?
但答案总是使用此代码将文件放入ExternalDirectory。
这是胡说八道,因为你问如何将apk文件与mp3文件一起发送。不过我没有尝试。我怀疑是否要将文件存储到资产文件夹中,因为当我这样做时,安装应用程序的大小要求将加倍,因为资产文件夹是只读的。在复制文件后,我无法删除资产文件夹中的文件,因此它将加倍到600MB,而不是300MB的安装要求。如果没有其他方法来解决我的问题,那么我可能会坚持使用资产文件夹。谢谢@blackapps