【问题标题】:Defining a heirarchy for native code via ABIs通过 ABI 定义本机代码的层次结构
【发布时间】:2016-03-25 06:02:29
【问题描述】:

请原谅我用词不好,我对 NDK 不是很熟悉。

我使用两个库。一个为 armeabi 生成本机 *.so 库,另一个为 armeabi-v7a 生成。我想定义一个层次结构,首先使用 arm v7a 库,然后是基本 arm。目前,我正在使用:

    ndk {
        abiFilters "armeabi-v7a", "x86", "armeabi"
    }

定义我有库的芯片组,但这只会拉入决定的特定芯片组。即,如果设备是 armeabi-v7a,则“armeabi-v7a”*.so 库将被拉入,而不是“armeabi”。如果我从配置中删除“armeabi-v7a”,“armeabi”将被拉入。

有没有办法使用风味或其他机制在应用程序的 build.gradle 中定义层次结构? This seems possible using Android.mk,但这似乎更适合我自己生成这些 *.so 文件,但我不是。我只是想使用我项目中包含的 .jar(s) 或 .aar(s) 中包含的 *.so 文件。

【问题讨论】:

    标签: gradle android-ndk


    【解决方案1】:

    对于胖 APK(您在一个 APK 中拥有多个 ABI 库),Android 的包管理器将为您正在运行的设备选择正确的库。

    对于拆分 APK(每个 ABI 一个 APK),Play 商店负责安装正确的一个:http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      相关资源
      最近更新 更多