Moh*_*ram 5 java android facebook facebook-android-sdk android-gradle-plugin
我想将我的应用程序与 facebook 登录集成,但是在添加以下依赖项并同步 Gradle 时:
implementation 'com.facebook.android:facebook-android-sdk:[5,6)'
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ERROR: Failed to resolve: legacy-support-v4
Affected Modules: app
ERROR: Failed to resolve: browser
Affected Modules: app
ERROR: Failed to resolve: legacy-support-core-utils
Affected Modules: app
ERROR: Failed to resolve: media
Affected Modules: app
Run Code Online (Sandbox Code Playgroud)
我在应用程序级别的build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
}
repositories { }
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.***************"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.android.support:design:28.0.0'
implementation 'com.google.firebase:firebase-analytics:17.2.1'
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
implementation 'com.github.GrenderG:Toasty:1.4.1'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
implementation 'com.gauravk.bubblenavigation:bubblenavigation:1.0.7'
implementation 'com.tuyenmonkey:mkloader:1.4.0'
implementation 'me.riddhimanadib.form-master:form-master:1.1.0'
implementation 'com.facebook.android:facebook-android-sdk:[5,6)'
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)
和build.gradle在项目级别:
buildscript {
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.2'
classpath 'com.google.gms:google-services:4.3.3'
classpath 'io.fabric.tools:gradle:1.31.2'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://www.jitpack.io" }
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
我在 google 和 StackOverflow 上搜索了很多并测试了所有方法,但是这个问题并没有解决。请帮助我我的问题在哪里。
首先删除
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
}
repositories { }
Run Code Online (Sandbox Code Playgroud)
当您在项目级 Gradle 文件中设置了存储库时,从您的应用程序级 Gradle 文件中获取。这会造成混乱。
使用implementation 'com.facebook.android:facebook-android-sdk:5.13.0'代替你的依赖。
您可以随时检查Maven Centeral以获取最新版本的库。
或者
请使用Gradle,只需输入您需要的库名称并复制结果(不要忘记用实现替换编译)
我测试了一些Facebook SDK版本,突然在4.26.0版本中,我的Gradle成功构建了。我检查了 Facebook SDK 的下一个版本(4.27.0)的发行说明,我发现:
修改
+重组了 Facebook SDK,并将其组织成可以相互依赖的单独的库/模块。
+ 将 GraphRequest.createOpenGraphObject(ShareOpenGraphObject) 移动到 ShareGraphRequest.createOpenGraphObject(ShareOpenGraphObject)
+ 将 FacebookSDK.[set|get]WebDialogTheme(...) 移动到 WebDialog.[set|get]WebDialogTheme(...)
+ 从样式中删除未使用的尺寸.xml
+ 删除仅内部测试使用的文件
+ 更新 proguard 文件
无论如何,通过以下行,我的问题得到了解决:
implementation 'com.facebook.android:facebook-android-sdk:4.26.0'
Run Code Online (Sandbox Code Playgroud)
使用大约 3年前的包对我来说不是什么好消息,但此时我没有任何想法。
| 归档时间: |
|
| 查看次数: |
1676 次 |
| 最近记录: |