首页 > 解决方案 > 加载原生 Android 库时,优先选择某些 CPU 架构

问题描述

我在我的 Android 应用程序中加载了一些本机库。通常客户支持一种架构,所以当我检查时Build.SUPPORTED_ABIS,我会得到类似"armeabi-v7a","armeabi". 除了在 chromebook 上。它们似乎支持两种架构。我明白了Build.SUPPORTED_ABIS = "x86","armeabi-v7a","armeabi"。据我了解,这意味着它同时支持 x86 和 arm,但更喜欢 x86。

有没有办法为我的应用程序指定在这种情况下我希望加载哪个架构?我更喜欢它加载 arm 而不是 x86,即使 x86 位于第一个位置。

标签: androidnativechromebookjnienv

解决方案


将此代码放入 build gradle

并通过更改构建变体获得每个 abi 单独的应用程序并获得通用 apk

splits {
  abi {
      enable true
      reset()
      include "x86", "armeabi-v7a", "arm64-v8a", "x86_64"
      universalApk true

      }
   }

文档


推荐阅读