android - 如何在android项目中使用不同的google-services.json文件添加不同风格的相同应用程序(想要克隆应用程序)?
问题描述
我想克隆我的 android 应用程序并在不同的区域使用不同的名称和全新的数据库启动它,我不想重新编写代码或制作项目的副本。我在项目的 build.gradle 文件中使用了 productFlavour{},但我做错了。
flavour1 {
dimension 'default'
applicationId "com.example.flavour1"
}
flavour2 {
dimension 'default'
applicationId "com.example.flavour2"
}
我收到这个错误,上面写着
No signature of method: build_7epdrck7cjxe08sh65acsfob0.android() is applicable for argument types: (build_7epdrck7cjxe08sh65acsfob0$_run_closure1) values: [build_7epdrck7cjxe08sh65acsfob0$_run_closure1@29754fbc]
我还在我的项目 src/ 根文件夹下创建了两个具有相同名称的文件夹 flavor1 和 flavor2 并添加了它们各自的 google-service.json 文件。但它不起作用。我做错什么了吗?
这是我的整个 gradle 文件代码,除了依赖项
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.example.scs"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
debuggable false
jniDebuggable false
renderscriptDebuggable false
pseudoLocalesEnabled false
zipAlignEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile(
'proguard-android-optimize.txt'),
'proguard-rules.pro'
}
}
productFlavours{
flavour1 {
dimension 'default'
applicationId "com.example.flavour1"
}
flavour2 {
dimension 'default'
applicationId "com.example.flavour2"
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
aaptOptions {
cruncherEnabled = true
}
}
非常感谢任何帮助或建议。提前致谢。
解决方案
推荐阅读
- coffeescript - Atom 编辑器中特定关键字的语法高亮显示
- node.js - nodejs mssql 连接 ETIMEDOUT
- google-sheets - Sumif 在可变日期之间具有多个条件
- assembly - 将指向 Rust 数组的指针传递到 x86-64 Asm -- 指针减一
- c - 错误:类型冲突,错误:形式参数 2 的类型不完整
- javascript - Javascript Onclick 滚动和高亮示例
- android - 一起使用 ARCore 和 Vision SDK Android
- django - Django 应用 + 第 3 方的模板目录
- javascript - 检索子路由时的 Node.js 404
- perl - Apache Spark 的 perl API?