android - Gradle 排除 arm64 库

标签 android android-gradle-plugin

我有一个包含两个库的应用程序,它们都依赖于 native 库。两者都包含在 gradle 中,因此结构如下所示:

我的应用

- Libary1
-- x86, armeabi native libs
- Library2
-- Library3
--- x86, armeabi, arm64-v8a

我想删除 arm64 支持,因为我还需要 Library1 的 *.so,但我没有。 (所以目前我在 arm64 设备上得到一个 UnsatisfiedLinkError)

我已经试过了:(使用 abiFilters“armeabi”、“x86”) https://stackoverflow.com/a/30799825/3325222

但我的 apk 中仍然有 arm64 文件夹和 *.so 文件……是不是我遗漏了什么?如果 native 库在依赖层次结构中更深,那么 abiFilter 的东西甚至应该起作用,对吗?

在此先感谢您的支持:)

最佳答案

我通过排除刚刚添加到我不想支持的架构中的特定 *.so 文件找到了解决方案:

packagingOptions {
  exclude 'lib/arm64-v8a/lib.so'
  exclude 'lib/mips/lib.so'
}

关于android - Gradle 排除 arm64 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32441359/

相关文章:

android - 从 Android 联系人中仅获取电子邮件联系人

android - 有什么方法可以找出是什么阻止了我的应用程序的互联网访问?

Android 读取外部存储在 Android Kitkat 中不起作用

android-studio - 无法解析 com.android.support.espresso :espresso-core:2. 2.2

android - gradle-android-test-plugin无法复制的构建失败

安卓 Gradle 。如何将 Flavors 与 buildTypes 结合起来

android - 如何在不自动播放过渡的情况下恢复 MotionLayout 的过渡状态?

android - 不同 "Build Variants"的不同配置

android - 如何在使用 "classpath ' com.android.tools.build :gradle:2. 3. 3' "时修复 build.gradle 错误

java - ORMLite 数据库模型通过改造适配器转为 GSON 错误; java.lang.IllegalStateException