【发布时间】:2015-01-22 23:04:54
【问题描述】:
我目前正在使用不使用 NDK 的 OpenCV (OpenCV4Android) 库(没有 C 或 C++ 代码)。但是,有用于 armeabi、armeabi-v7a、mips 和 x86 的 .so 文件。如果我在项目中包含所有这些,则应用程序大小为 30mb,而如果我只包含 1 个,则应用程序大小仅为 9mb。如果我尝试在不包含该设备架构的 .so 文件的设备上运行该应用程序,它会崩溃,而如果我包含它的 .so 文件,它会工作。
因此,我想将多个 APK 发布到不同的设备架构以减小文件大小。据我所知,这只能在 Application.mk 文件中完成,但我的库没有。还有其他方法可以针对不同的 Android 架构吗?
【问题讨论】:
-
如果有.so文件,那么它使用的是NDK。
-
是否可以在安装时(或之后?)指示必须安装单独的 APK?然后你可以将你的应用分成五个,一个核心 APK 和四个特定于架构的应用,在安装核心应用后,它会检测拱门并安装必要的附加 APK。我相信如果他们使用相同的包名,他们可以作为一个单元一起工作,但我从未尝试过这样的事情。对不起,如果我离基地很远。
-
@immibis 我假设 so 文件来自预编译库 ( OpenCV4Android ),在这个应用程序项目中,开发人员没有使用 NDK 来构建 so 文件。
标签: java android android-ndk apk