我有个安卓项目,在配制项目变体时,某些Flavor需要原生库,某些不需要。 我知道如何为不同的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这个flavor中使用原生库,请问我该怎么做?谷歌官方赋予的示例让不同的flavor使用不同的原生库,但如何让某些flavor不使用原生库呢? 我使用cmake来编译本机代码。该库的名称称为nalib。我不想使用no_hardware风格的本机库。我该怎么办? Google给出的示例正式允许不同的样式使用不同的本机库,但是如何使某些样式不使用本机库?
答案 0 :(得分:0)
依赖项{编译'com.android.support:multidex:1.0.3'}