在Android Studio中导入Facebook库:找不到属性'ANDROID_BUILD_SDK_VERSION'。

55

我想将一个库项目导入我的应用程序,但每当我尝试这样做时,Android Studio都无法识别它。

它还在 build.gradle 中给我报错...

这个库是:PagerSlidingTabStrip....

这里是一些图片:

enter image description here

enter image description here

我已经试图让它工作了三天了!请帮帮我 :)

编辑:

apply plugin: 'android-library'

dependencies {
compile 'com.android.support:support-v4:19.0.0'
}

android {
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION

defaultConfig {
    minSdkVersion 8
    targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
}

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        res.srcDirs = ['res']
    }
}
}

 apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle'

编辑2:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':Sahertoday'.
> Could not resolve all dependencies for configuration ':Sahertoday:_debugCompile'.
> Could not find com.astuetz:pagerslidingtabstrip:1.0.1.
 Required by:
     Saher-3:Sahertoday:unspecified

* Try:
 Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get         more log output.

 BUILD FAILED

请发布您的 build.gradle 文件。您是如何声明该库的? - 2Dee
这是库的 build.gradle 文件。 - Ibrahim Al-Eidan
5个回答

54

首先,您可以将此依赖项添加到您的项目中,而无需在本地编译该库。

dependencies {
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
}
否则,如果您想在本地编译此库,则必须在根目录的gradle.properties中定义这些密钥。
ANDROID_BUILD_TARGET_SDK_VERSION=19
ANDROID_BUILD_TOOLS_VERSION=19
ANDROID_BUILD_SDK_VERSION=19

当我使用第一步时,出现错误(我在上面发布了错误)...第二步也没有起作用! - Ibrahim Al-Eidan
对于第一种解决方案,您应该在proj/build.gradle中添加repositories { mavenCentral() }。 - Gabriele Mariotti
1
这对我不起作用。它仍然显示找不到属性。 - Roel
1
这里还缺少一个属性。你还需要设置:ANDROID_BUILD_MIN_SDK_VERSION=19 - Sam
1
@androiddeveloper 我不知道。但是你可以创建它。 - Gabriele Mariotti
显示剩余3条评论

38

编辑

还有一种图形用户界面的方式可以完成此操作。它可以通过在项目树中选择模块facebook并按下f4来访问。
您也可以直接右键单击facebook并转到底部附近的打开模块设置

如图片所示。图片中的数字是写作时顶部sdk版本。

第一块 - 图片中的数字与上述数字不匹配,但这是因为我后来更新了它们。

第二块 - 相同的更新

还有一个更简单的解决方案。像ANDROID_BUILD_SDK_VERSION这样的常量可以用普通版本“数字”替换。因此,代替:

android {
    compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
    buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION

    defaultConfig {
         minSdkVersion 8
         targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
    }

..文件可以看起来像这样:

android {
    compileSdkVersion 19
    buildToolsVersion '19.1.0'

    defaultConfig {
         minSdkVersion 15
         targetSdkVersion 19
    }

在 Android Studio 的新版本 > 4.3 中,已经没有模块导入选项了。 - Hugo Gresse
@Xjet 我正在使用版本0.8.9,仍然有模块导入选项。我在“文件”->“导入模块”下找到它,就在最上面。看起来你的版本混淆了。 - mdzeko

3

进入你导入项目中的Facebook文件夹。复制gradle.properties文件并将其粘贴到你的Facebook模块中,这样可以消除错误。


1
apply plugin: 'com.android.library'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 4
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:22.2.1'
}

1

如果您在添加库时遇到相同的问题,仍然无法使其正常工作。以下本地包含 .aar 文件对我有效:

  • 手动从 maven repo 下载 .aar 文件。
  • 在 Android Studio 中转到文件 -> 新建模块 -> 导入 .JAR 或 .AAR 包并选择您下载的 .aar 文件。

Android Studio 会为您完成剩下的工作(在 build.gradle 中)。可能需要清理和重建项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接