我试图在我的应用中实施Google Analytics,但在编译时出现以下错误:
错误:任务':app:mergeDebugResources'执行失败。 [XML / global_tracker] C:\ Users \ Carlos \ AndroidStudioProjects \ Capstone \ SP \ Stocks Panel Lite \ app \ src \ main \ res \ xml \ global_tracker.xml [xml / global_tracker] C:\ Users \ Carlos \ AndroidStudioProjects \ Capstone \ SP \ Stocks Panel 精简版\程序\编译\生成的\水库\谷歌的服务\调试\ XML \ global_tracker.xml: 错误:资源重复
我试图运行干净的项目,但我得到了同样的错误。如果我删除app / build,我也会得到同样的错误。
提前致谢。
更新:build.gradle
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "com.carlos.capstone"
minSdkVersion 11
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
}
}
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.android.support:gridlayout-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:support-annotations:23.1.1'
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2'
compile 'io.reactivex:rxandroid:1.0.1'
compile 'io.reactivex:rxjava:1.1.1'
compile 'com.squareup.okhttp:logging-interceptor:2.6.0'
compile 'com.github.PhilJay:MPAndroidChart:v2.1.6'
compile 'com.bignerdranch.android:expandablerecyclerview:2.0.4'
compile 'com.crazyhitty.chdev.ks:rss-manager:0.21'
compile 'com.github.frankiesardo:linearlistview:1.0.1@aar'
compile 'com.github.bumptech.glide:glide:3.5.2'
compile 'com.facebook.stetho:stetho-urlconnection:1.3.1'
compile 'com.facebook.stetho:stetho:1.3.1'
compile 'com.android.support:customtabs:23.0.0+'
compile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
compile 'org.apache.commons:commons-lang3:3.1'
compile 'org.apache.poi:poi:3.14'
compile 'net.sf.supercsv:super-csv:2.4.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
compile 'com.google.android.gms:play-services-analytics:8.3.0'
}
答案 0 :(得分:18)
当您在资源xml文件夹中放置global_tracker.xml
时,会发生这种情况,此外还会在apply plugin: 'com.google.gms.google-services'
文件中添加build.gradle
。这就是将实现跟踪器的旧方法与新的工作方式混合在一起。解决方案是从您的xml文件夹中删除global_tracker.xml
,因为google-services插件会在构建应用时自动添加google-services.json
配置文件中的所有必需数据。
另外,建议在apply plugin: 'com.google.gms.google-services'
后面的build.gradle
行放置在依赖项部分之后。这很奇怪,但将它放在顶部会导致某些配置出错。
此外,在尝试构建项目时,您可能会看到错误:无法找到符号变量global_tracker ,尤其是在您转换旧项目时,并从Firebase下载了google-services.json
控制台,同时仍与旧款Google Analytics一起使用。在这种情况下,打开新添加的google-services.json
并在“services”对象中找到“analytics_service”。您需要添加以下内容:
"analytics_property": {
"tracking_id": "<your tracking id>"
所以整个部分看起来像这样(在那里放置你自己的UA-XXXXXXXX-X跟踪ID):
"analytics_service": {
"status": 2,
"analytics_property": {
"tracking_id": "UA-12345678-9"
}
},
之后,请确保在重建之前清理项目并重新同步Gradle。希望有所帮助。