错误:无法解决:com.twitter.sdk.android:twitter:2.3.0 - Android Studio

Sum*_*One 29 twitter dependencies android firebase firebaseui

我在我的日志猫中收到此错误

Error:Failed to resolve: com.twitter.sdk.android:twitter:2.3.0
Run Code Online (Sandbox Code Playgroud)

当我尝试添加此依赖项时:

compile 'com.firebaseui:firebase-ui:1.1.1'
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我,我不知道我做错了什么.这是我从中获取依赖关系的链接:https://github.com/firebase/FirebaseUI-Android.在旁注中,我没有在我的应用程序中使用Twitter登录或与Twitter进行任何类型的交互,因此我不确定为什么在放置该依赖项后同步我的gradle时出现该错误.

She*_*har 58

您项目的gradle文件应如下所示.

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()

        // Required for 'com.firebaseui:firebase-ui:1.1.1'
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


nik*_*set 9

让我们从为什么开始 - 这来自Firebase身份验证文档:"Firebase身份验证提供后端服务,易于使用的SDK和现成的UI库来验证用户的应用程序.它支持使用密码进行身份验证,像流行的联合身份提供商一样Google,Facebook和Twitter等等."

因此,通过使用Firebase身份验证,我们可以允许我们的应用用户使用他们的Google,Facebook,GitHub或 - Twitter帐户登录.

现在帮助 - 一些侦探工作揭示了这里发生了什么.当使用Git存储库中的东西时 - 在本例中为github.com/firebase/FirebaseUI-Android - 我们应该始终阅读README.md文件.

... github.com/firebase/FirebaseUI-Android/blob/master/README.md

安装...

dependencies {
    // FirebaseUI Database only
    compile 'com.firebaseui:firebase-ui-database:1.2.0'

    // FirebaseUI Auth only
    compile 'com.firebaseui:firebase-ui-auth:1.2.0'

    // FirebaseUI Storage only
    compile 'com.firebaseui:firebase-ui-storage:1.2.0'

    // Single target that includes all FirebaseUI libraries above
    compile 'com.firebaseui:firebase-ui:1.2.0'
}
Run Code Online (Sandbox Code Playgroud)

您使用的是com.firebaseui:firebase-ui:1.1.1,它是旧版本而不是实际的README.md,但此注释仍然适用:

//包含上述所有FirebaseUI库的单个目标

因此,由于它将所有三个库都包含在一个中,让我们去阅读每个库中的README.

它们可以在主页上的文件夹中找到 - 数据库,身份验证,存储

https://github.com/firebase/FirebaseUI-Android

存储和数据库自述文件是关于如何在Java代码中使用它们,没有别的.

但是Auth README.md有一些关于配置的东西 - 因为我们在这里谈论配置:https: //github.com/firebase/FirebaseUI-Android/tree/master/auth

组态

作为先决条件,请确保您的应用程序已配置为与Firebase一起使用:请参阅Firebase文档.然后,添加FirebaseUI auth库依赖项.如果您的项目使用Gradle,请添加依赖项:

dependencies {
    // ...
    compile 'com.firebaseui:firebase-ui-auth:1.2.0'
}
Run Code Online (Sandbox Code Playgroud)

并添加Fabric存储库

allprojects {
    repositories {
        // ...
        maven { url 'https://maven.fabric.io/public' }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,他们希望我们放置这些代码片段并不完全清楚,但"依赖关系"位于App级别build.gradle文件中,"allprojects"部分位于Project级别build.gradle文件中.


Mar*_*arr 5

扩展@Hemant Menon的答案,回答@ Pheonix的问题.

将"repositories"内的"allprojects"和"buildscript"内的以下行添加到Project Level build.gradle文件中:

maven {
    url 'https://maven.fabric.io/public'
}
Run Code Online (Sandbox Code Playgroud)

所以文件看起来像:

buildscript {
    repositories {
        [...]
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}

allprojects {
    repositories {
        [...]
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}

[...]
Run Code Online (Sandbox Code Playgroud)

此外,您还必须将以下行添加到您的应用的清单文件中:

tools:replace="android:supportsRtl"
Run Code Online (Sandbox Code Playgroud)

所以它看起来像:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    [...]
    xmlns:tools="http://schemas.android.com/tools" >

    <application
        [...]
        tools:replace="android:supportsRtl">
        <activity>
            [...]
        </activity>

    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)