Как использовать или не использовать нативную библиотеку в другом стиле? - PullRequest
1 голос
/ 10 июля 2019

我 有 个 安卓 项目, 在 配制 项目 变 体 时, 某些 Flavor 需要 原 生 库, 某些 不需要. 我 知道 如何 为 不同 的 Ароматизатор 配置 不同 的 原 生 库, 但 不 知道 如何 让 某些 аромат 使用 原 生 库 而 另 一些 不 使用 原 生 库. 请问 我 该 怎么 配置? У меня есть проект Android. При настройке вариантов проекта некоторые разновидности требуют встроенной библиотеки, а некоторые нет. Я знаю, как настроить разные нативные библиотеки для разных версий, но я не знаю, как заставить некоторые разновидности использовать нативные библиотеки, другие не используют нативные библиотеки. Как я могу это настроить?

在 中 build.gradle, 我 是 如下 配置 的: В build.gradle я настроил его следующим образом:

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "lhl.wenshi"
        minSdkVersion 18
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
        ndk {
            // Specifies the ABI configurations of your native
            // libraries Gradle should build and package with your APK.
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    flavorDimensions 'hardware'
    productFlavors {
        no_hardware {
            dimension = 'hardware'
            applicationIdSuffix = '.nohw'
            externalNativeBuild {
                cmake {
                    targets // How to not use the native library?
                }
            }
        }
        hardware {
            dimension = 'hardware'
            externalNativeBuild {
                cmake {
                    targets "nalib"
                }
            }
        }
    }
    dataBinding {
        enabled = true
    }
    externalNativeBuild {
        cmake {
            path file('CMakeLists.txt')
        }
    }
}

我 是 用 CMake 编译 的 原 生 代码, 库 的 名字 叫做 nalib, 我 不想 在 no_hardware 这个 аромат 中 使用 原 生 库, 请问 我 该 怎么 做? 谷 歌 官方 给出 的 示例 让 不同 的 аромат 使用 不同 的 原 生 库, 但 如何 让 某些 аромат 不 使用 原 生 库 呢? Я использую cmake для компиляции нативного кода. Название библиотеки называется налиб. Я не хочу использовать нативную библиотеку во вкусе no_hardware. Что я должен делать? Приведенный Google пример официально разрешает различным версиям использовать разные нативные библиотеки, но как сделать так, чтобы определенные версии не использовали нативные библиотеки?

1 Ответ

0 голосов
/ 11 июля 2019

зависимостей {compile 'com.android.support:multidex:1.0.3'}

...