support studio para modulos librerias library last diseño create crear compatibilidad biblioteca android android-gradle android-library

para - create library android studio



¿Cómo eliminar bibliotecas duplicadas agregadas a través de gradle? (3)

Vaya a Archivo> estructura del proyecto> Módulo interior, seleccione su> haga clic en Dependencias en el lado derecho y vea si hay bibliotecas duplicadas presentes o no.

También intente invalidar / reiniciar el caché

Estoy usando dos bibliotecas en mi proyecto. Uno es esto y el otro es esto .

Cada vez que ejecuto la aplicación con la biblioteca Editar prueba, se muestra UNA EXCEPCIÓN DE NIVEL SUPERIOR INESPERADA :

Error:Execution failed for task '':mobile:dexDebug''. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: E:/Android/me/me/sdk/build-tools/21.1.2/dx.bat --dex --no-optimize --output C:/Project/RemoteiT/RemoteiT/mobile/build/intermediates/dex/debug --input-list=C:/Project/RemoteiT/RemoteiT/mobile/build/intermediates/tmp/dex/debug/inputList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener; 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(Main.java:106)

Supongo que el error anterior muestra que com.nineoldandroids se agrega dos veces o está en conflicto.

Así que traté de eliminarlo en el archivo build.gradle. ¡Pero sigue mostrando el error!

¿Mi suposición es correcta? ¿O en otro lugar me equivoqué?

Build.gradle

apply plugin: ''com.android.application'' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "me.aruhan.remt" minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } } } configurations { // to avoid double inclusion of support libraries all*.exclude group: ''com.nineoldandroids'', module: ''materialDesign'' } dependencies { compile ''com.android.support:appcompat-v7:21.0.0'' compile project('':materialDesign'') compile ''com.rengwuxian.materialedittext:library:1.7.1'' }


Si se produce un error debido a la duplicación de bibliotecas, puede usar packagingOptions en el archivo build.gradle.

android { .... packagingOptions { exclude ''.....'' pickFirst ''.....'' } }


En lugar de agregarlo en las Configuraciones. Agregué la exclusión solo para la biblioteca de esta manera:

compile (''com.rengwuxian.materialedittext:library:1.7.1'') { exclude group: ''com.nineoldandroids'', module: ''library'' }