def getCurrentFlavor() { Gradle gradle = getGradle() String tskReqStr = gradle.getStartParameter().getTaskRequests().toString() Pattern pattern if( tskReqStr.contains( "assemble" ) ) // to run ./gradlew assembleRelease to build APK pattern = Pattern.compile("assemble(\\w+)(Release|Debug...
获取当前项目的 Product Flavors 在Android 构建中,有时我们需要在构建过程中获取当前的 product flavors。这可以通过 Gradle 的 DSL(领域特定语言)实现。以下是一个代码示例,展示了如何在 Gradle 脚本中访问当前选择的 product flavor。 android{applicationVariants.all{variant->if(variant.buildType.name=="release")...
目前两者风味的 app 并没有什么区别,唯一的区别是 BuildConfig 的 FLAVOR 值不同,选择不同的风味,BuildConfig 的 FLAVOR 值就是对应风味的名称。 // 选择huaweiDebugpublicfinalclassBuildConfig{...publicstaticfinalStringFLAVOR="huawei";}// 选择xiaomiDebugpublicfinalclassBuildConfig{...publicstaticfinalStringFLAVOR...
public static final String FLAVOR = "huawei"; } // 选择xiaomiDebug public final class BuildConfig { ... public static final String FLAVOR = "xiaomi"; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 打包不同风味的 apk 可以通过 Gradle 工具栏来选择性的进行打包 # 打所有风味的包 assemble # ...
或者说怎么当前运行的flavor?查阅相关资料,然后关于如何获取当前Flavor,网上千篇一律的都是这个答案: https://stackoverflow.com/questions/30621183/how-to-get-current-flavor-in-gradle 然后我试了试,别不是网上说的那样,根本无法得到正确的输出,我得到的是这样的答案,一直是null:...
新建一个工程,在gradle配置文件中,创建两个flavor 生效之后,我们现在就得到了4个build variant 之后在app/src目录下新建一个global目录 创建目录和名字没有严格要求,关键是配置sourceSets时要写对相应的路径 这里通过sourceSets里的name属性,过滤了global版本和其他,如果有更详细的需求,可以再累加 ...
build.gradle 的 android#defaultConfig#applicationId 设置的才是应用的包名 , 清单文件中设置的不是应用包名标识 ; ProductFlavor:applicationId 参考文档 :https://google.github.io/android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html#com.android.build.gradle.internal.dsl.ProductFlavo...
工程中配置Flavor 如下这个是module里面的build.gradle部分代码(android节点下),这里面主要增加的是productFlavors,这个就是用来配置不同项目的参数。 在这里我配置了三个项目,分别是intermodalTransport、onlineBattle、convergence。不同的项目ID当然需要不同,配置ID的方法有两种: ...
原因是,flavor+buildType的组合依赖在最开始检测的时候是不存在的,我们需要先用configurations定义出来,此时该组合是一个空的配置。等到编译期时,flavor+buildType已经被真正创建并重写了我们之前定义的空配置,所以此时编译用到的是正确的编译配置。我们预定义只是为了防报错。这个应该是设计缺陷吧。(gradle 2.2.3)...
android#defaultConfig 层级的 externalNativeBuild 配置 , 也就是 ProductFlavor 中的 externalNativeBuild 配置是定义在 ProductFlavor 中的 externalNativeBuild ; 该配置类型是 ExternalNativeBuildOptions 类型的 , 完整类名是 代码语言:javascript 复制 com.android.build.gradle.internal.dsl.ExternalNativeBuildOptions...