Firebase 快速入门分析无法解析“:app@debug/compileClasspath”的依赖关系:无法解析项目:internal:lintchecks

Cok*_*oki 2 android firebase android-studio build.gradle

我将 android 的 firebase 快速启动分析导入为 Android Studio 项目,但是当我尝试同步它时,出现以下错误:

在此输入图像描述

我已经尝试了很多其他主题的建议(未检查的离线模式等...),但没有人解决这个问题。

这是我的 build.gradle (应用程序):

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
check.dependsOn 'assembleDebugAndroidTest'

android {
compileSdkVersion 28

defaultConfig {
    applicationId "com.google.firebase.quickstart.analytics"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner                                                                                                                                           '       android.support.test.runner.AndroidJUnitRunner'
}

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:28.0.0'
}

dependencies {
implementation project(":internal:lintchecks")
implementation project(":internal:chooser")
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71"

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

implementation 'com.google.firebase:firebase-core:16.0.3'
implementation 'com.google.firebase:firebase-analytics:16.0.3'

androidTestImplementation 'com.android.support.test.espresso:espresso-  core:3.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
}

apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

这是控制台的屏幕截图,我们可以在其中看到“内部”依赖项文件夹,但里面什么也没有。

控制台截图

小智 5

似乎您仅从整个 Firebase SDK 示例存储库导入了分析文件夹。如果您检查analytics文件夹中的settings.gradle文件,您会发现这些模块位于其外部,位于名为internal的文件夹中

include ':internal:lintchecks'
project(':internal:lintchecks').projectDir = file('../internal/lintchecks')
include ':internal:lint'
project(':internal:lint').projectDir = file('../internal/lint')
include ':internal:chooser'
project(':internal:chooser').projectDir = file('../internal/chooser')
Run Code Online (Sandbox Code Playgroud)

因此,要么导入整个示例文件夹以及所有其他“项目”,要么将内部文件夹复制到您的 android studio 项目并更改模块的路径。settings.gradle 看起来像这样

include ':app'

// Required so that gradle can resolve these dependencies even when
// building only a single project.
include ':internal:lintchecks'
project(':internal:lintchecks').projectDir = file('internal/lintchecks')
include ':internal:lint'
project(':internal:lint').projectDir = file('internal/lint')
include ':internal:chooser'
project(':internal:chooser').projectDir = file('internal/chooser')
Run Code Online (Sandbox Code Playgroud)