我更新了使用Android Studio 2.2和Gradle 2.2.0。现在我遇到了问题。
我按照这篇文章https://medium.com/google-cloud/automatic-per-variant-google-services-json-configurations-with-gradle-d3d3e40abc0e#.g1p7c1tx2配置了两个" google-services.json"用于dev vs prod的文件构建并在我的app / build.gradle文件中使用以下方法在复制两个" google-services.json"之间进行切换。文件。
afterEvaluate {
processDebugGoogleServices.dependsOn switchToDebug
processReleaseGoogleServices.dependsOn switchToRelease
}
task switchToDebug(type: Copy) {
description = 'Switches to DEBUG google-services.json'
from "src/gcm-dev"
include "google-services.json"
into "."
}
task switchToRelease(type: Copy) {
description = 'Switches to RELEASE google-services.json'
from "src/gcm-prod"
include "google-services.json"
into "."
}
Gradle符合条件,但是当我点击"运行应用程序" (三角形"播放"图标)或"调试应用" (三角形"播放"带有错误的图标)Android Studio中的按钮,我得到以下内容:
* What went wrong:
A problem occurred configuring project ':app'.
> Could not get unknown property 'processReleaseGoogleServices' for object of type com.android.build.gradle.AppExtension.
请帮助,非常感谢。
答案 0 :(得分:6)
我遇到了同样的问题,启用了即时运行问题。尝试禁用它并再次运行。
答案 1 :(得分:1)
另一种方法是以下列方式引用任务:
tasks.whenTaskAdded { task ->
if (task.name == 'assembleDebug') {
task.dependsOn 'switchToDebug'
} else if (task.name == 'assembleRelease') {
task.dependsOn 'switchToRelease'
}
}
<强>更新强>
您在评论中提到的问题与您的google-services.json
文件有关。您需要将google-services.json
放入app/ dir
。对于每个构建类型,app/src
文件夹中应该有一致的导演。
如果文件已存在,请检查其中是否包含正确的包名称
"client_info": {
"mobilesdk_app_id": "1:6596814400689:android:65d6f25f5006145",
"android_client_info": {
"package_name": "com.my.app.package.name"
}
答案 2 :(得分:1)
您还应该更新Google Play服务gradle插件,请按照文档进行设置:https://developers.google.com/android/guides/google-services-plugin
最棒的是,您不再需要编写gradle任务,这些任务会在根目录中创建适当的google-services.json
文件。现在,插件支持构建类型特定google-services.json
:
“从版本2.2.0开始,该插件支持构建类型和产品风格 特定的JSON文件。所有以下目录结构都是 有效的“
答案 3 :(得分:0)
如@Singed所述,在src-directory下添加一个目录pr build type / flavor,相应的google-services.json
和Google Play gradle plugin将处理剩下的事情,例如:
src/
debug/google-services.json
release/google-services.json
在构建过程中,将处理正确的文件,最后在build/generated/res/google-services/debug|release/values/values.xml