1

我已经阅读了这个问题的大量变体,但我似乎无法获得导入 com.facebook。使用 Android Studio 2.0 在我的应用程序中工作。

我有一个主应用程序和一个库模块,我在库模块中使用 Facebook SDK。这是我的顶级项目gradle:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

还有我图书馆的 gradle:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "22.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.facebook.android:facebook-android-sdk:4.11.0'
}

现在,当我同步 gradle 时,它​​似乎确实构建了所有应有的中间内容。但是,当我尝试执行导入语句时,我得到的唯一选择是:

import com.facebook.*
import com.facebook.R

没有其他选项可用。如果我尝试这样做:

import com.facebook.FacebookSdk

FacebookSdk 这个词是红色的,因为它找不到它。

我整个上午都在讨论这个问题。我正在转换一个旧的 Eclipse 项目,但这最初是一个全新的 Android Studio 项目(不是从旧的 Eclipse 项目导入)。似乎还有另一个 Facebook SDK 漂浮在其中,没有任何导出,但如果我找不到它,我会被诅咒的。我还尝试了很多早期版本的 Facebook SDK,它们都做同样的事情。

我到底哪里错了?

4

1 回答 1

2

回答了我自己的问题!我几乎不知道您必须先成功构建,然后才能添加导入语句。我添加了 compile 'com.facebook.android:facebook-android-sdk:4.11.0' 然后立即尝试导入 com.facebook.FacebookSdk 而不先成功构建。

公平地说,Google 快速入门的第 6 步确实说“构建您的项目”,但在添加任何 SDK 代码之前执行此操作的重要性有点让我反感。

于 2016-04-24T14:29:43.833 回答