我想在我的Android Studio項目中安裝RoboGuice作爲依賴項。一旦我嘗試運行該項目(甚至在我添加任何新代碼之前),我就會崩潰並輸出:添加RoboGuice作爲依賴時出錯
信息:Gradle任務[:app:assembleDebug] :app:preBuild UP-TO- DATE :應用:preDebugBuild UP-TO-DATE :應用程序:checkDebugManifest :應用:preReleaseBuild UP-TO-DATE :應用:prepareComAndroidSupportAppcompatV72300Library UP-TO-DATE :應用:prepareComAndroidSupportSupportV42300Library UP-TO-DATE :應用程序: prepareComMcxiaokeVolleyLibraryAar100Library UP-TO-DATE :app:prepareDebugDependencies :app:compileDebugAidl UP-TO-DATE :app:compileDebugRenderscript UP-TO-DATE :應用程序:generateDebugBuildConfig UP-TO-DATE :應用程序:generateDebugAssets UP-TO-DATE :應用程序:mergeDebugAssets UP-TO-DATE :應用程序:generateDebugResValues UP-TO-DATE :應用程序:generateDebugResources UP-TO-DATE :應用程序:mergeDebugResources UP-TO-DATE :應用程序:processDebugManifest UP-TO-DATE :應用程序:processDebugResources UP-TO-DATE :應用程序:generateDebugSources UP-TO-DATE :應用程序:processDebugJavaRes UP-TO-DATE :app:compileDebugJava 注意:某些輸入文件使用或覆蓋棄用的API。 注意:使用-Xlint:deprecation重新編譯以獲取詳細信息。 :應用:compileDebugNdk UP-TO-DATE :應用程序:compileDebugSources :應用程序:preDexDebug :應用:dexDebug 意外頂級例外: com.android.dex.DexException:多DEX文件定義Ljavax /注入/供應商; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) at com.android.dx.merge。 DexMerger.mergeClassDefs(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) at com.android。 dx.command.dexer.Main.run(Main.java:246) at com.android.dx.command.dexer.main.main(Main.java:215) at com.android.dx.command.Main。主要(Main.java:106) E rror:執行任務':app:dexDebug'失敗。
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2 Information:BUILD FAILED Information:Total time: 10.274 secs Information:1 error Information:0 warnings Information:See complete output in console
這裏是我的gradle這個文件:
的build.gradle(模塊) 應用插件: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.mysite.myapp"
minSdkVersion 15
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'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'javax.inject:javax.inject:1'
compile 'org.roboguice:roboguice:3.+'
}
的build.gradle(項目)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
我完全困惑。任何人都可以看到我做錯了什麼?謝謝。
無論如何,你是否已將'dependencies'中指定的任何庫放在libs文件夾中?如果可能,請張貼您的libs文件夾內容的屏幕截圖。 –
爲什麼你要爲你的依賴添加編譯'javax.inject:javax.inject:1'?如果在使用gradle時不需要使用imho,Roboguice應該解決對它自己的依賴。 – FWeigl
@Ascorbin - 我一直在玩依賴注入的各種嘗試。這是從一個較早的方法遺留下來的,但似乎是重複的來源。如果你提出它作爲答案,我會接受它。謝謝! – Alex