gpt4 book ai didi

android - 开发一个拥有大量 Assets 的Android项目;安装到设备总是需要很长时间

转载 作者:行者123 更新时间:2023-12-03 05:57:16 25 4
gpt4 key购买 nike

我正在使用Android Studio开发Android应用程序。我的 Assets 文件夹中有大文件,因此code -> build -> install -> run周期的“安装”步骤需要很长时间,我的意思是几分钟(5到10)。

减少时间的最佳方法是什么?

我唯一的想法是在开发时使用较小的 Assets 数据。

问题是 Assets 实际上并没有经常改变。

是否有其他方法可以“预先安装” Assets ,因此不必在应用程序中一遍又一遍地安装 Assets (至少在开发过程中)

Assets 文件夹包含一个大的sqlite文件,以及无数的图像和声音文件,这些文件加起来总计超过500MB。

最佳答案

我发现这是使用“扩展包”和“不透明二进制文件”执行此操作的好方法,如下所述:

https://developer.android.com/google/play/expansion-files.html

https://developer.android.com/studio/command-line/jobb.html

这是我的做法:

1)将所有内容从 Assets 文件夹移动到其他位置。

当然,您可以自由地将 Assets 保留在 Assets 中,但就我而言,我可以不用它们。

2)使用jobb工具从您的 Assets 中创建一个obb文件。

假设您的包裹名称为me.name.app

jobb -d appAssets -o main.1.me.name.app.obb -pn me.name.app -pv 1

您可能需要根据软件包版本更改 -pv

此处选择的命名 main.1.me.name.app.obb并非任意。这就是Play商店在上传文件时会将其重命名为的文件。请参阅文档的 File Name部分。

3)找出应将obb文件放置在何处。这是从Play商店下载应用程序时Android会将文件放入其中的路径。我尚未将其部署到Play商店,因此,我知道在此步骤中可能会出现一些错误。

obb的路径在文档中被描述为 <shared-storage>/Android/obb/<package-name>/,其中根据我们的示例,可以从 <shared-storage>获得 Environment.getExternalStorageDirectory(),而package-name是 me.name.app,因此,obb的路径为:
Environment.getExternalStorageDirectory() + "/Android/obb/me.name.app/main.1.me.name.app.obb"

在我的Android上,外部存储似乎位于“/ storage / emulated / 0 /”,但我认为它在不同设备上可能有所不同。

找到路径后,将obb文件放在此处。

4)在您的应用中,使用 StoreManager.mountObb将obb挂载到新的根路径。将此根路径存储在全局对象中,并在应用程序的代码中使用它。

您必须遍历代码,并更改依赖于AssetsManager的任何部分,并将其更改为使用常规文件路径。

您的应用程序(apk)文件大小现在要小得多,但是您仍然可以访问自己的 Assets 。

关于android - 开发一个拥有大量 Assets 的Android项目;安装到设备总是需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44082321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com