Я пытаюсь установить RoboGuice в качестве зависимости в моем проекте Android Studio. Как только я попытаюсь запустить проект (даже до того, как я добавил новый код), я обрушился на этот вывод:Ошибка добавления RoboGuice в качестве зависимости
Информация: Задачи подноса [: app: assembleDebug] : приложение: preBuild UP-TO- ДАТА : приложение: 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: устаревшие сведения. : Приложение: compileDebugNdk UP-TO-DATE : Приложение: compileDebugSources : приложение: preDexDebug : приложение: dexDebug НЕПРЕДУСМОТРЕННАЯ ИСКЛЮЧЕНИЕ TOP-LEVEL: com.android.dex.DexException: Несколько DEX файлы определяют Ljavax/впрыснуть/Provider ; 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) на 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) E rror: Execution failed for task ': 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 в ваши зависимости? Если imho не понадобится при использовании градиента, Roboguice должен решить эту зависимость от его собственной. – FWeigl
@Ascorbin - Я играю с различными попытками инъекции зависимостей весь день. Это было перечеркнуто из более раннего подхода, но, по-видимому, является источником дублирования. Если вы предложите это в качестве ответа, я приму это. Благодаря! – Alex