错误:无法解决:com.twitter.sdk.android:twitter:2.3.0 - Android Studio
Posted
技术标签:
【中文标题】错误:无法解决:com.twitter.sdk.android:twitter:2.3.0 - Android Studio【英文标题】:Error:Failed to resolve: com.twitter.sdk.android:twitter:2.3.0 - Android Studio 【发布时间】:2017-05-30 06:44:55 【问题描述】:我的日志猫出现此错误
Error:Failed to resolve: com.twitter.sdk.android:twitter:2.3.0
当我尝试添加此依赖项时:
compile 'com.firebaseui:firebase-ui:1.1.1'
有人可以帮助我吗,我不确定我做错了什么。这是我从中获得依赖项的链接:https://github.com/firebase/FirebaseUI-Android。附带说明一下,我没有在我的应用程序中使用 twitter 登录或与 twitter 进行任何形式的交互,所以我不确定为什么在放置该依赖项后同步我的 gradle 时会出现该错误。
【问题讨论】:
【参考方案1】:添加这一行:
maven
url 'https://maven.fabric.io/public'
build/gradle 文件中 buildscript 和 allprojects 下的存储库。
【讨论】:
【参考方案2】:您项目的 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'
【讨论】:
【参考方案3】:在 Android 清单文件中, 设置 android:supportsRtl 从“真”到“假”
android:supportsRtl="false"
【讨论】:
这真的对您有帮助吗?【参考方案4】:扩展@Hemant Menon 的答案,并回答@Pheonix 的问题。
在“repositories”、“allprojects”和“buildscript”中添加以下行到您的项目级 build.gradle 文件中:
maven
url 'https://maven.fabric.io/public'
所以文件看起来像:
buildscript
repositories
[...]
maven
url 'https://maven.fabric.io/public'
allprojects
repositories
[...]
maven
url 'https://maven.fabric.io/public'
[...]
您还必须将以下行添加到应用的清单文件中:
tools:replace="android:supportsRtl"
所以它看起来像:
<?xml version="1.0" encoding="utf-8"?>
<manifest
[...]
xmlns:tools="http://schemas.android.com/tools" >
<application
[...]
tools:replace="android:supportsRtl">
<activity>
[...]
</activity>
</application>
</manifest>
【讨论】:
【参考方案5】:让我们从原因开始 - 这是来自 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'
您使用的是 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 身份验证库依赖项。如果您的项目使用 Gradle,请添加依赖项:
dependencies
// ...
compile 'com.firebaseui:firebase-ui-auth:1.2.0'
并添加 Fabric 存储库
allprojects
repositories
// ...
maven url 'https://maven.fabric.io/public'
现在还不清楚,他们希望我们将这些代码 sn-ps 放在哪里,但“依赖项”位于 App 级别的 build.gradle 文件中,而“allprojects”部分位于项目级别的 build.gradle 中文件。
【讨论】:
【参考方案6】:就我而言,我做了我添加的两件事,
maven
url 'https://maven.fabric.io/public'
和
android:supportsRtl="false"
效果很好。
【讨论】:
【参考方案7】:改用这个。它们是每个 firebaseui 组件的最新版本。
// FirebaseUI for Firebase Realtime Database
implementation 'com.firebaseui:firebase-ui-database:5.0.0'
// FirebaseUI for Cloud Firestore
implementation 'com.firebaseui:firebase-ui-firestore:5.0.0'
// FirebaseUI for Firebase Auth
implementation 'com.firebaseui:firebase-ui-auth:5.0.0'
// FirebaseUI for Cloud Storage
implementation 'com.firebaseui:firebase-ui-storage:5.0.0'
【讨论】:
以上是关于错误:无法解决:com.twitter.sdk.android:twitter:2.3.0 - Android Studio的主要内容,如果未能解决你的问题,请参考以下文章