Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
开发具有大量资产的Android项目;安装到设备总是需要很长时间_Android_Android Studio_Gradle_Android Assets - Fatal编程技术网

开发具有大量资产的Android项目;安装到设备总是需要很长时间

开发具有大量资产的Android项目;安装到设备总是需要很长时间,android,android-studio,gradle,android-assets,Android,Android Studio,Gradle,Android Assets,我正在Android Studio中开发一个Android应用程序。我在assets文件夹中有大量文件,因此code->build->install->run周期的“安装”步骤需要很长时间,我的意思是几分钟(5到10分钟) 减少时间的最佳方法是什么 我唯一的想法是在开发时使用较小的资产数据 问题是这些资产并没有经常改变 是否有其他方法可以“预安装”资产,这样它们就不必作为应用程序的一部分反复安装(至少在开发过程中) 资产文件夹由一个大的sqlite文件,加上无数的图像和声音文件组成,加起来都超过

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

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

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

问题是这些资产并没有经常改变

是否有其他方法可以“预安装”资产,这样它们就不必作为应用程序的一部分反复安装(至少在开发过程中)


资产文件夹由一个大的sqlite文件,加上无数的图像和声音文件组成,加起来都超过500MB。

我发现使用“扩展包”和“不透明二进制文件”是一种很好的方法,如下所述:

我是这样做的:

1) 将所有内容从“资产”文件夹移动到其他位置

当然,你可以自由地把东西保存在资产中,但在我的情况下,我可以不用它们

2) 使用
jobb
工具从您的资产创建
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 Store在您上传文件时将您的文件重命名为的内容。请参阅文档的一节

3) 找出应该将obb文件放在哪里。这是Android从play store下载应用程序时将文件放入的路径。我还没有将它部署到play store,所以据我所知,这一步可能会出错

obb的路径在文档中描述为
/Android/obb/
,其中
可以从
环境中获得。getExternalStorageDirectory()
,根据我们的示例,包名为
me.name.app
,因此obb的路径为:

Environment.getExternalStorageDirectory() + "/Android/obb/me.name.app/main.1.me.name.app.obb"
在我的Android上,外部商店似乎位于“/storage/simulated/0/”,但我认为不同设备的外部商店可能有所不同

找到路径的位置后,将obb文件放在那里

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

您必须检查代码并更改任何依赖AssetManager的部分,然后将其更改为使用常规文件路径


您的应用程序(apk)文件大小现在小得多,但您仍然可以访问您的资产。

在手机上安装后,是否可以尝试压缩资源并解压缩?另一种方法是通过internet下载附加文件?压缩/解压缩如何减少安装时间?