使用 gradle buildTypes 的 Android 的不同 Apk
Posted
技术标签:
【中文标题】使用 gradle buildTypes 的 Android 的不同 Apk【英文标题】:Different Apks for android using gradle buildTypes 【发布时间】:2018-09-26 23:49:13 【问题描述】:我正在尝试在同一设备上同时安装调试版本和发布版本,因此尝试将 applicationIdSuffix 添加到 gradle 文件的 buildTypes 块中,如文档中所述。没有提到要创建任何包,而是说找不到包错误。请帮忙。
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
def versionMajor = 1
def versionMinor = 0
def versionPatch = 4
def versionBuild = 0
android
compileSdkVersion 26
defaultConfig
applicationId "com.edu.gcfapp"
minSdkVersion 21
targetSdkVersion 26
versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 + versionBuild
versionName "$versionMajor.$versionMinor.$versionPatch"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions
annotationProcessorOptions
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
buildTypes
debug
applicationIdSuffix ".debug"
release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
compileOptions
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
flavorDimensions "default"
我得到的错误是这个..
Error:FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDevDebugGoogleServices'.
> No matching client found for package name 'com.edu.gcfapp.debug'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 9s
【问题讨论】:
【参考方案1】:看起来您正在使用 Google 服务,尽管您从 gradle 中省略了它。
您的 google 配置文件(我认为是 google-services.json 文件)不包含 com.edu.gcfapp.debug 的任何配置信息
返回您的 google 控制台并为您的发布和调试包名称创建一个文件,并将它们放在相关的构建文件夹中。
【讨论】:
以上是关于使用 gradle buildTypes 的 Android 的不同 Apk的主要内容,如果未能解决你的问题,请参考以下文章
Android Gradle 插件BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )
Android Gradle 插件BuildType 编译类型配置 ⑥ ( BuildType#signingConfig 配置 )
Gradle buildType/productFlavor 使用意外的 buildConfigField
Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.1——使用Build Types
Gradle:如何为需要相同 Activity 但具有不同意图过滤器的不同 buildType 合并 Android 清单文件
Android Gradle 插件DexOptions 配置 ④ ( additionalParameters 属性配置 | 使用 BuildType 配置多 dex 机制 )