【发布时间】:2019-11-12 20:22:43
【问题描述】:
我在模块 build.gradle 文件中有一个风味维度,无论实际的构建变体是什么,gradle 构建过程都会贯穿所有构建变体。这是模块 build.gradle:
flavorDimensions 'type', 'jnitype'
productFlavors {
demo {
dimension 'type'
versionNameSuffix '.demo'
}
production {
dimension 'type'
versionNameSuffix '.production'
}
usejni {
dimension 'jnitype'
versionNameSuffix '.usejni'
copy {
from('../jnilib/data') {
include 'sdk_data.gpu'
....
}
into 'src/main/assets/data'
}
}
nojni {
dimension 'jnitype'
versionNameSuffix '.nojni'
delete('src/main/assets/data/*.*')
packagingOptions {
exclude 'lib/arm64-v8a/sdk.so'
...
}
}
}
因此,无论选择什么构建变体,demoUsejni 或 demoNojni,gradle 都会运行“usejni”,然后是“nojni”变体——它会复制文件和库,然后删除它们。我使用 gradle debug 来确认这一点。
如何告诉 gradle 只使用选定的构建风格?
AS 3.5.2,gradle 插件 5.4.1,android 构建工具 3.5.2。
【问题讨论】:
-
你能再解释一下吗?无论选择什么,它都会运行两种口味吗?
-
@vijaypalodes >无论选择什么,它都会运行两种口味吗?确切地。在构建时,它通过“usejni”风格运行并复制文件,然后通过“nojni”风格运行并删除文件和库。是的,一站式构建通行证。
标签: android android-studio build.gradle android-flavordimension