【发布时间】:2017-10-25 12:56:58
【问题描述】:
我正在使用
开发一个 android 应用程序opencv 库版本 330。
当前编译项目的大小约为 100 MB! 实在是太大了。 对应用程序模块使用 proguard,APK 大小减少了大约 3 或 4 MB。 在 opencv 库上使用 Proguard 时出现错误。一直没找到解决办法,用proguard很久了……
我通过在app/sr/main 下创建 jniLibs 文件夹来导入库。
现在这个文件夹包含了另外 7 个文件夹!
- arm64-v8
- armeabi
- armeabi-V7A
- mips
- mips64
- x86
- x86-64
上面列出的每个文件夹都包含各自的 .so 文件...
我注意到删除其中一些文件夹后,apk 的大小会大大减小。 我不是架构专家,但我可以删除 armeabi 文件夹,因为(据我了解)不需要支持这种架构。
由于我的应用程序几乎可以发布,对于 Android 设备,我知道是否有人可以告诉我要支持哪些架构????
谢谢你们:D
【问题讨论】:
-
阅读:developer.android.com/ndk/guides/abis.html - 曾经有一个设备的百分比细分...仍在寻找
-
你包括
opencv_world.so文件吗? -
我不包括 opencv_world.so.... 我包括那个:i.stack.imgur.com/QIeje.png
-
您可以安全地移除
mips和mips64拱形设备,我现在很少看到这些拱形设备。armv8是其中最新的。并且通常在高端手机上需要。 -
我想在这里尝试一个实验,我看到一些项目在单个
.so文件上运行,所以我的意思是这些架构是交叉兼容的,只是性能有所下降。但是我不确定它是如何工作的,也许需要对 gradle 文件进行一些调整。