Ошибка: не удалось разрешить: com.twitter.sdk.android:twitter-2.3.0 - Android Studio
Я получаю эту ошибку в своем log cat
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 или какое-либо взаимодействие с твиттером в своем приложении, поэтому я не уверен, почему я получаю эту ошибку, когда я синхронизирую свой gradle после установки этой зависимости.
Ответы
Ответ 1
Ваш проект 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'
}
}
}
Ответ 2
Начнем с того, почему - это из Firebase Authentication docs:
"Firebase Authentication предоставляет базовые службы, простые в использовании SDK и готовые библиотеки пользовательского интерфейса для аутентификации пользователей в вашем приложении. Он поддерживает аутентификацию с использованием паролей, популярных федеративных поставщиков удостоверений, таких как Google, Facebook и Twitter, и многое другое".
Таким образом, используя Firebase Authentication, мы можем разрешить пользователям наших приложений входить в систему со своей учетной записью 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 для каждого из них.
Их можно найти на главной странице в своих папках: база данных, auth, storage
https://github.com/firebase/FirebaseUI-Android
Хранение и база данных README - это о том, как их использовать в коде 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' }
}
}
Теперь не совсем ясно, где они хотят, чтобы мы помещали эти фрагменты кода, но "зависимости" находятся в файле build.gradle на уровне приложения, а раздел "allprojects" находится в файле build.gradle на уровне проекта.
Ответ 3
Расширение ответа @Hemant Menon и ответ на вопрос @Pheonix.
Добавьте следующую строку внутри "репозиториев", внутри "allprojects" и "buildscript" в свой файл build.gradle Project Level:
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>
Ответ 4
Добавьте эту строку:
maven {
url 'https://maven.fabric.io/public'
}
внутри репозиториев как в buildscript, так и во всех проектах в файле build/ gradle.
Ответ 5
В файле манифеста Android,
set android: supportsRtl
от "true" до "false"
android: supportsRtl = "false"
Ответ 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'