带有Android Studio 1.1.0的Facebook SDK 3.23.0

时间:2015-02-21 04:13:40

标签: android facebook android-studio

首先,当我尝试使用“import module”添加它然后“添加依赖”时,我收到错误:

  

错误:(19,0)无法在项目':facebook'上找到属性'ANDROID_BUILD_MIN_SDK_VERSION'。

所以我继续在facebook模块文件夹中创建了一个gradle.properties文件,然后它给了我这个错误:

  

错误:(111,0)在调用setTargetInfo()之前无法调用getBootClasspath()。

为此,我甚至无法在网上找到类似的问题。之后我尝试用maven导入它。我按照https://developers.facebook.com/quickstarts/我的build.gradle文件中的说明进行操作:

repositories { mavenCentral() }


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile files('libs/bolts-android-1.1.4.jar')
    compile files('libs/Parse-1.8.2.jar')
    compile files('libs/ParseCrashReporting-1.8.2.jar')
    compile 'com.facebook.android:facebook-android-sdk:3.21.1'
}

我得到的错误是:

  

Gradle任务[:app:assembleDebug]   :app:preBuild UP-TO-DATE   :app:preDebugBuild UP-TO-DATE   :app:compileDebugNdk UP-TO-DATE   :应用:checkDebugManifest   :app:preReleaseBuild UP-TO-DATE   :app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE   :app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE   :app:prepareComFacebookAndroidFacebookAndroidSdk3211Library UP-TO-DATE   :应用:prepareDebugDependencies   :app:compileDebugAidl UP-TO-DATE   :app:compileDebugRenderscript UP-TO-DATE   :app:generateDebugBuildConfig UP-TO-DATE   :app:generateDebugAssets UP-TO-DATE   :app:mergeDebugAssets UP-TO-DATE   :app:generateDebugResValues UP-TO-DATE   :app:generateDebugResources UP-TO-DATE   :app:mergeDebugResources UP-TO-DATE   :app:processDebugManifest UP-TO-DATE   :app:processDebugResources UP-TO-DATE   :app:generateDebugSources UP-TO-DATE   :应用:compileDebugJava   :app:preDexDebug UP-TO-DATE   :应用:dexDebug   意外的顶级例外情况:   com.android.dex.DexException:多个dex文件定义Lbolts / AggregateException;       在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)       在com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)       在com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)       在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)       在com.android.dx.merge.DexMerger.merge(DexMerger.java:189)       在com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)       在com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)       在com.android.dx.command.dexer.Main.run(Main.java:246)       在com.android.dx.command.dexer.Main.main(Main.java:215)       在com.android.dx.command.Main.main(Main.java:106)   错误:任务':app:dexDebug'的执行失败。   com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.7.0_45 \ bin \ java.exe''以非完成零退出值2   信息:建筑失败   信息:总时间:4.234秒   信息:1错误   信息:0警告   信息:请参阅控制台中的完整输出

从我在其他类似问题中看到的情况来看,我认为facebook和parse都可能正在尝试编译bolts-android-1.1.4.jar并且我评论了它但没有任何改变。

我正在努力工作8小时,所以任何帮助都表示赞赏。

4 个答案:

答案 0 :(得分:8)

这是known issueis fixed通过将gradle更新为:

dependencies {
    classpath 'com.android.tools.build:gradle:1.1.2'
    }

归功于this post

答案 1 :(得分:3)

只需采用maven方式,您的应用build.gradle应如下所示:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.facebook.android:facebook-android-sdk:3.21.1'
    //    compile files('libs/bolts-android-1.1.4.jar')
    //    compile files('libs/Parse-1.8.2.jar')
    //    compile files('libs/ParseCrashReporting-1.8.2.jar')
}

然后在终端窗口中转到项目的目录并输入:

gradlew.bat clean

重新启动Android Studio,你应该好好去。

答案 2 :(得分:2)

我有一个类似的问题,我认为这是Facebook,因为它发生在gradle.build我将最新的sdk添加到我的依赖项的时候,但这只是我的疏忽。我在两个不同的com.android.tools.build:gradle:1.1.2文件中有1.1.1gradle.build的冲突版本。

应用程序/ gradle.build

dependencies {
    ...
    compile 'com.android.tools.build:gradle:1.1.2'
    ...
}

顶级gradle.build

dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    }

我在项目的gradle.build文件中注释了该行,从命令行运行gradlew clean,重新启动了Android Studio,然后在Universe中恢复了订单。

答案 3 :(得分:0)

您可以参考https://stackoverflow.com/a/28697252/2657401

这解决了Android在Android Studio 1.1.0中的问题