android - 包含 .so 文件时减小 APK 的大小

标签 android android-ndk ffmpeg proguard javacv

我正在为使用 ffmpeg 帧记录器和 .so 文件以及 javacv 的相机库使用第 3 方 API。

我还使用第 3 方库从视频中提取元数据,该视频也有一些 .so 文件

当我将所有这些文件合并到一个文件夹“armeabi”时,我的应用程序无法运行。 所以我必须将所有这些文件复制到所有其他文件夹“armeabi-v7a、mips、x86”。效果很好,但显然 apk 的大小现在太大了。

这些文件的总大小为每个文件夹 20MB。这使所有文件夹成为 80MB。我的 .apk 大小是 41MB。请建议我如何删除重复文件/文件夹或减小 .apk 大小。

为什么我需要所有这些文件夹 armeabi、armeabi-v7a、mips、x86 enter image description here

文件夹中的.so文件 enter image description here

最佳答案

如果要支持多种架构,那么就需要这多个文件夹。但是,有一种方法可以通过部署多个 APK 来减小 APK 的大小,即为每种 CPU 类型部署特定的 APK。

查看这些链接:

https://software.intel.com/en-us/android/articles/google-play-supports-cpu-architecture-filtering-for-multiple-apk

http://developer.android.com/google/play/publishing/multiple-apks.html

关于android - 包含 .so 文件时减小 APK 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25802091/

相关文章:

android - Android 4.1.2 上奇怪的 JSON 编码问题

android - 在sqlite中获取日期差异

android - HockeyApp Jenkins 插件适用于 Android 吗?

android - 如何在 GCC 中使用来自不同路径的 C 库

javascript - Ffmpeg 在 AWS Lambda 函数中返回错误代码 1

video - 如何在 ffmpeg windows 中启用 libvorbis 编解码器?以及如何从 .mov 转换为 .webm

android - SocketException(系统调用被取消)

android - libspotify 在 Android 上因 SIGSEGV 而失败

android - 在 Linux 桌面上运行 Android NDK 二进制文件

node.js - FFmpeg Node.js 实时网络流媒体