拥有更新的 Android Studio 3.0 是件好事。但是我遇到了 Android Studio 3.0 的问题,我刚刚在 Android Studio 3.0 中创建了一个新项目。然后我收到了一些错误
我通过将 dependencies
更改为最新版本并解决了问题来解决这些问题。
但是,当我添加{{1>} facebook account-kit sdk dependency
我收到以下错误 - :
错误:无法解析':app @ debug / compileClasspath'的依赖关系: 无法解决com.facebook.android:account-kit-sdk:4.+。打开 文件
显示详细信息
的build.gradle(APP)
com.facebook.android:account-kit-sdk:4.+
注意 - :
我正在关注 Facebook Developers Docs
我尝试过将apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 26
defaultConfig {
applicationId "ultimate.devil.logintest"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.facebook.android:account-kit-sdk:4.+'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
更改为compile
我还尝试通过Google搜索最新版 Facebook Account-Kit SDK
<尝试将implementation
更改为com.facebook.android:account-kit-sdk:4.+
和com.facebook.android:account-kit-sdk:4.11.0
/ LI>
我也尝试过StackOverFlow Answers同样的问题。但没有人帮助我
截图
答案 0 :(得分:71)
经过一番研究后,我解决了这个问题。
第1步 -
我在设置中停用 Gradle离线工作。
档案&gt;设置&gt;构建,执行,部署&gt; Gradle&gt;取消选中离线工作
第2步 -
然后,我刚刚将 compile 'com.facebook.android:account-kit-sdk:4.+'
更改为 api 'com.facebook.android:account-kit-sdk:4.+'
我不确切知道它为什么会起作用。我在文档中看到 api Reference
现在有效:)
编辑 -
现在,我可以同时使用api
或implementation
,一切正常。
谢谢,
答案 1 :(得分:5)
在无法编译的matchingFallbacks = ['release', 'debug']
中添加buildType
。
E.g。我的releaseStaging
错误:
buildTypes {
debug {
buildConfigField "String", "CODEPUSH_KEY", '""'
}
releaseStaging {
buildConfigField "String", "CODEPUSH_KEY", 'myKey'
signingConfig signingConfigs.release
matchingFallbacks = ['release', 'debug']
}
release {
buildConfigField "String", "CODEPUSH_KEY", 'myKey'
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
}
答案 2 :(得分:3)
我前天面临类似的错误。刚刚解决了它here
此外,正如最新的gradle版本notes中所述,您应该避免使用版本号为的动态依赖项:
com.facebook.android:account-kit-sdk:4.+
尝试将其替换为适当的版本号4.0.0或更新版本。希望它能解决问题。
答案 3 :(得分:2)
降级为 Gradle 4.2.1
我根据答案here使用Gradle版本4.3,因为该问题是我的错误。做完这个改变后,我开始遇到你的问题。
降级到版本4.2.1,您的问题就消失了。现在我必须回到上一个问题。
我在使用Android Studio 3.0
和gradle plugin 3.0.0
如果我有其他问题,我会在此处发布更新
答案 4 :(得分:2)
可以在Maven Central上找到所有Facebook Account Kit SDK
构建工件:
// https://mvnrepository.com/artifact/com.facebook.android/account-kit-sdk
api 'com.facebook.android:account-kit-sdk:4.35.0'
,要添加的相应存储库为:
repositories {
mavenCentral()
}
假定未处于offline
模式。
答案 5 :(得分:0)
有同样的问题。在尝试了一切之后,终于意识到它是不允许同步依赖的网络。尝试使用热点并且有效。
答案 6 :(得分:0)
我通过清除此目录解决了这个问题:
c:\Users\User name\\.gradle\caches\
答案 7 :(得分:0)
我遇到了同样的问题,我通过将apply plugin: 'com.android.application'
更改为 apply plugin: 'com.android.library'
关于我的问题,它与你的有点不同。我有第二个模块与android库和Android开发人员页面&#34;将应用程序模块转换为库模块&#34; 。我的猜测是它与管理架构内部的Manifest文件有关,因此Android会知道Manifest主文件的位置。
关于api
和implementation
,可以找到答案here
api配置应该用于声明由库API导出的依赖项,而实现配置应该用于声明组件内部的依赖项。
答案 8 :(得分:0)
我遇到了同样的问题,并且确实做到了这样:
implementation project(path: 'com.facebook.android:account-kit-sdk:4.+', configuration: 'default')
答案 9 :(得分:0)
降级这两个文件可以解决问题
项目的build.graddle至3.1.4 渐变包装属性到4.4
答案 10 :(得分:0)
看到一个旧项目。它显示“构建”成功。所以我检查了 build.gradle 文件。比较这两个项目,我看到依赖项版本号发生了变化。然后我只是从旧的项目中复制了版本号并且它起作用了。在 android{} 中还有一个 BuildUsing 左右,我将它从我的新项目中删除(它不在我的旧项目中)。我认为这是因为 gradle 更新不完整或损坏。