Я могу integrate (add & work) with many libraries
.
Но что касается библиотеки ActionBarSherlock
, у меня так много проблем с ней.
Первая проблема - это популярная проблема Multiple dex files define
,
Я знаю, что duplicated android-support-v4.jar
вызывает его, но я не могу решить эту проблему сейчас:
Error:Execution failed for task ':fitness:dexDebug'.
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
Я выполнил ответ в той же ошибке. Он использовал:
dependencies {
compile('...') {
exclude module: 'support-v4'
}
compile 'com.android.support:support-v4:18.0.+'
}
Но я получил сообщение Вторая проблема: unsupported Gradle DSL method found: 'exclude()'!
.
Поэтому я изменил build.gradle
of main module
следующим образом:
//configurations {
// all*.exclude group: 'com.android.support', module: 'support-v4'
//}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':google-play-services')
compile files('/google-play-services/libs/google-play-services.jar')
compile (project(':actionbarsherlock')) {
exclude(module: 'support-v4')
}
compile 'com.android.support:support-v4:18.0.+'
}
Solved
Вторая проблема, но все равно получите ошибку Первая проблема Multiple dex files define
.
Я прочитал много тем, но не могу решить Первая проблема,
Пожалуйста, помогите мне,
Спасибо,
p/s: я могу успешно синхронизировать с Gradle, но при запуске он получает ошибки выше.
Я использовал Android studio 0.5.5
ИЗМЕНИТЬ
build.gradle
of ActionBarSherlock
, он имеет только один android-support-v4.jar
:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
setting.gradle
следующим образом:
include ':fitness', ':google-play-services',':actionbarsherlock'
@Garbriele: я обновил новый вопрос, покажу build.gradle of project
и build.gradle of main module
build.gradle
of project
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
build.gradle
of main module
после редактирования:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.actionbarsherlock:actionbarsherlock:[email protected]' // Get following error in this line
}
Я получил эту ошибку ниже:
Хорошо, спасибо за комментарий @Garbriele, я уже исправил это, используя это:
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.actionbarsherlock:actionbarsherlock:[email protected]' // Get following error in this line
}
РЕДАКТИРОВАТЬ 2 Когда я делаю следующее:
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.google.android.gms:play-services:+'
}
Ошибка Первая проблема Multiple dex files define
.
Теперь я хочу, как успешно добавить библиотеку com.google.android.gms:play-services
через Maven
,
Пожалуйста, помогите мне,
Спасибо,
UPDATE
Последующие действия:
-
Поместите библиотеку через Maven в
build.gradle
основного модуля:compile 'com.google.android.gms:play-services:+'
-
Restart Android Studio
-
Sync project with gradle
Больше не получать эту ошибку.