Android:构建一个 APK 几乎是嵌入视频文件大小的两倍?
Posted
技术标签:
【中文标题】Android:构建一个 APK 几乎是嵌入视频文件大小的两倍?【英文标题】:Android: Building an APK almost doubles the size of an embedded video file? 【发布时间】:2017-04-27 19:06:32 【问题描述】:我的 APK 中有一个大小约为 9mb
的视频。没有视频文件的APK文件是14mb
。但是,当我添加9mb
视频文件时,apk 大小会跳转到30mb
。
视频是.mp4
格式,我想知道是什么导致APK 从14mb
跳转到30mb
并带有9mb
视频,这是否正常?谢谢。
更新: 使用 APK 分析器工具时,我的 APK 中有两个 res 文件夹。他们都有视频的副本。实际上我所有的资源都被复制了。这是APK内的文件夹结构:
res
main
res
【问题讨论】:
使用 android Studio 中的 APK 分析器工具查看 APK 中占用空间的内容。 感谢您的提示。我更新了我的问题。原来我有两个 res 文件夹,它们都有视频文件的副本 视频文件应该在 res/raw 文件夹中 - 你把它放在哪里了? 是的,它在 res/raw 文件夹中,但我不知道为什么它将我的所有资源从我的 main/res 文件夹复制到根 res 文件夹。 【参考方案1】:我发现了复制我的 apk 中所有资源的问题。
我的 build.gradle 文件中有这段代码
sourceSets
main
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['src/main/res'] // <-- This was causing the dup res folder
assets.srcDirs = ['assets', 'src/main/assets', 'src/main/assets/']
我删除了这段代码,现在我的 apk 明显变小了,不再有重复。
【讨论】:
以上是关于Android:构建一个 APK 几乎是嵌入视频文件大小的两倍?的主要内容,如果未能解决你的问题,请参考以下文章
QuickBlox 视频聊天在发布模式下构建 apk 后崩溃
嵌入的 youtube 视频无法在某些 Android 设备中播放