【问题标题】:'ANDROID_BUILD_SDK_VERSION' Error with Facebook SDKFacebook SDK 出现“ANDROID_BUILD_SDK_VERSION”错误
【发布时间】:2014-12-23 09:11:09
【问题描述】:
在导入 Facebook SDK 时,我在 HelloFacebookSample 上总是遇到同样的错误。
错误:(8, 0) 找不到属性“ANDROID_BUILD_SDK_VERSION”
项目“:HelloFacebookSample”。
我知道该错误与 HelloFacebookSample 有关,并且我尝试分配“ANDROID_BUILD_SDK_VERSION”= 20(我的 SDK 版本)。它仍然会出现同样的错误。
这是一个快照
这个错误正在吸走我的生命。我怎样才能摆脱这个错误?
【问题讨论】:
标签:
android
facebook
sdk
android-studio
facebook-sdk-4.0
【解决方案1】:
Facebook 的“build.gradle”文件假定您有一个“gradle.properties”文件,其中声明了 ANDROID_BUILD_SDK_VERSION 变量。因此,您所要做的就是在根级别创建一个名为“gradle.properties”的文件并将以下内容添加到其中。
ANDROID_BUILD_TARGET_SDK_VERSION=19
ANDROID_BUILD_TOOLS_VERSION=10.0.0
ANDROID_BUILD_SDK_VERSION=19
ANDROID_BUILD_MIN_SDK_VERSION=11
【解决方案2】:
您遇到此错误是因为您没有将 HelloFacebookSample/build.gradle 中的 'ANDROID_BUILD_SDK_VERSION' 替换为 20,而不是 Facebook/build.gradle。
【解决方案3】:
看到上述答案现在可能已经过时,我发布了这个更新的解决方案。我花了两个小时,终于让它工作了。
我正在使用带有 Facebook SDK 4.0 的 Android Studios 1.1。
-
在打开 Android Studios 之前,转到 \facebook-android-sdk-4.0.1\facebook\build.gradle 并替换任务 javadoc(type: Javadoc):
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
用这个:
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath += files(ext.androidJar)
}
以上来自Cannot call getBootClasspath() before setTargetInfo() is called 礼貌:Mansukh Ahir
- 现在导航到您 PC 上 Facebook SDK 文件夹的根目录:\facebook-android-sdk-4.0.1 并创建一个 gradle.properties 文件并在其中说明或根据您拥有的 SDK 版本对其进行自定义已在您的 PC 上:
ANDROID_BUILD_MIN_SDK_VERSION=15
ANDROID_BUILD_TARGET_SDK_VERSION=21
ANDROID_BUILD_TOOLS_VERSION=21.1.2
ANDROID_BUILD_SDK_VERSION=21
- 现在转到 Android Studios 并将您的示例文件夹导入 Android Studios \facebook-android-sdk-4.0.1\samples
Android Studios 现在应该导入所有内容。在导入过程中您仍然会遇到一些错误,因为某些示例(例如 MessengerSendSample)具有指向最低 SDK 版本 14 的 build.gradle 文件,而不是 gradle.properties 文件中定义的 15。只需打开 MessengerSendSample build.gradle 并将其更改为 15 即可。