Build.Gradle 在 Android 中使用 Facebook SDK 4.0.0 和 Parse.com 库时出现问题
Build.Gradle issues when using Facebook SDK 4.0.0 and Parse.com libraries in Android
我已将问题缩小到项目中的重叠依赖项,但是,我不确定要排除哪些依赖项才能正确构建我的项目。
如果我从我的 libs 文件夹中删除 ParseFacebookUtilsV3 文件,那么我会得到另一个带有重复 LBolts/AggregateException.
的 DexException
这是我的 gradle.build 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "kevts.washington.edu.fiternity"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.facebook.android:facebook-android-sdk:4.0.0'
}
这是我的 libs 文件夹的内容:
螺栓-android-1.1.4.jar
螺栓-android-1.1.4.jar.properties
螺栓-android-1.1.4-javadoc.jar
Parse-1.9.0.jar
Parse-1.9.0.jar.properties
Parse-1.9.0-javadoc
ParseCrashReporting-1.9.0.jar
ParseCrashReporting-1.9.0.jar.properties
ParseCrashReporting-1.9.0-javadoc
ParseFacebookUtilsV3-1.9.0.jar
ParseFacebookUtilsV3-1.9.0.jar.properties
ParseFacebookUtilsV3-1.9.0-javadoc
ParseFacebookUtilsV4-1.9.0.jar
ParseFacebookUtilsV4-1.9.0.jar.properties
ParseFacebookUtilsV4-1.9.0-javadoc
third_party_licenses.txt
这是我遇到的错误:
:app:preDexDebug 最新
:应用程序:dex调试
意外的顶级异常:
com.android.dex.DexException:多个dex文件定义Lcom/parse/FacebookAuthenticationProvider$1;
在 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)
Error:Execution 任务“:app:dexDebug”失败。
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 2
提前致谢。
将以下行添加到您的 gradle
compile 'com.parse.bolts:bolts-android:1.+'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
我已将问题缩小到项目中的重叠依赖项,但是,我不确定要排除哪些依赖项才能正确构建我的项目。 如果我从我的 libs 文件夹中删除 ParseFacebookUtilsV3 文件,那么我会得到另一个带有重复 LBolts/AggregateException.
的 DexException这是我的 gradle.build 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "kevts.washington.edu.fiternity"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.facebook.android:facebook-android-sdk:4.0.0'
}
这是我的 libs 文件夹的内容:
螺栓-android-1.1.4.jar
螺栓-android-1.1.4.jar.properties
螺栓-android-1.1.4-javadoc.jar
Parse-1.9.0.jar
Parse-1.9.0.jar.properties
Parse-1.9.0-javadoc
ParseCrashReporting-1.9.0.jar
ParseCrashReporting-1.9.0.jar.properties
ParseCrashReporting-1.9.0-javadoc
ParseFacebookUtilsV3-1.9.0.jar
ParseFacebookUtilsV3-1.9.0.jar.properties
ParseFacebookUtilsV3-1.9.0-javadoc
ParseFacebookUtilsV4-1.9.0.jar
ParseFacebookUtilsV4-1.9.0.jar.properties
ParseFacebookUtilsV4-1.9.0-javadoc
third_party_licenses.txt
这是我遇到的错误:
:app:preDexDebug 最新 :应用程序:dex调试 意外的顶级异常: com.android.dex.DexException:多个dex文件定义Lcom/parse/FacebookAuthenticationProvider$1; 在 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) Error:Execution 任务“:app:dexDebug”失败。
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 2
提前致谢。
将以下行添加到您的 gradle
compile 'com.parse.bolts:bolts-android:1.+'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')