我正在配置我的应用程序的付费和免费版本,我得到以下错误。我已经在android 3之前配置相同而没有问题。
Gradle脚本
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "capstone.nanodegree.udacity.com.mypodcast"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
//flavorDimensions "default"
flavorDimensions "free", "paid"
productFlavors {
free {
applicationId "capstone.nanodegree.udacity.com.mypodcast.free"
dimension "free"
}
paid {
applicationId "capstone.nanodegree.udacity.com.mypodcast.paid"
dimension "paid"
}
}
}
def AAVersion = '4.4.0'
def GLIDEVersion = '4.3.1'
def supportVersion = '26.1.0'
答案 0 :(得分:0)
检查google-services.json
.....中的两个包的条目,也可能是单独的问题,我相信你应该只定义一个维度(你的口味都会具有相同的dimension
值)
答案 1 :(得分:0)
我正在使用和你一样的Flavors,我将删除我的两种口味并重命名以进行简单比较:
compileSdkVersion 26
buildToolsVersion googleBuildTools
dataBinding {
enabled = true
}
defaultConfig {
applicationId "com.myapp"
minSdkVersion 21
targetSdkVersion 26
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
}
signingConfigs {
releaseMyApp {
storeFile file("$projectDir/../myappkeystore.jks")
storePassword System.getenv('MYAPP_STORE_PASSWORD')
keyAlias System.getenv('MYAPP_KEY_ALIAS')
keyPassword System.getenv('MYAPP_KEY_PASSWORD')
}
}
productFlavors {
myapp {
applicationId "com.myApp.one"
buildConfigField "String", "SERVER_URL", '"https://api.myappone.com"'
versionCode 24
versionName "1.18"
minSdkVersion 21
}
myappStaging {
applicationId "com.myapp.one.staging"
buildConfigField "String", "SERVER_URL", '"https://stg.api.myappone.com"'
versionCode 24
versionName "1.18"
minSdkVersion 21
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
productFlavors.myapp.signingConfig signingConfigs.releaseMyapp
productFlavors.myappStaging.signingConfig signingConfigs.releaseMyapp
}
}
没有问题,但我会发布以防你有什么不同的事情,你注意到我没有,但你的错误可能与你的firebase json有关。您可以为所有风格使用相同的json文件,只需要每个应用程序标识符的客户端部分。您可以通过firebase门户网站在线创建。
我犯了错误,为每种口味制作单独的firebase json文件,后来发现我不需要这样做,因为它们都与它们中的所有客户都相同。
最初我只使用两种不同应用程序类型的flavor,但后来不得不为staging制作口味以支持多种环境中的PUSH。祝好运。希望这有帮助,但我猜你需要修复你的firebase json文件。