You can remove transititve dependencies that cause duplicated classes. Am Montag, 6. Oktober 2014 12:07:58 UTC+2 schrieb [email protected]: > > Apologies, I wasn't clear enough lead to errors, we had a small chat about > this on IRC, > > [error] (android:proguard) java.io.IOException: Can't write > [/Users/_/Backup/Experiments/Test/bin/classes.proguard.jar] (Can't read > [/Users/_/.ivy2/cache/org.sonatype.sisu/sisu-guava/jars/sisu-guava-0.9.9.jar(;;;;;;!META-INF/**,!rootdoc.txt)] > > (Duplicate zip entry > [sisu-guava-0.9.9.jar:com/google/common/base/Ascii.class])) > > Yes it's a proguard error, but something proguard doesn't give an option > to switch off, I understand that the lib i'm including probably shouldn't > use sisu-guava, i've used both excludes on the problematic transitive libs > (next one is log4j) and successfully build. > but results in runtime error. > > Disabling proguard results in alot of errors such as; > warn] Exception in thread "pool-1-thread-640" > java.lang.IllegalArgumentException: already added: > Lcom/google/common/collect/Multisets$1$1; > [warn] at > com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122) > [warn] at com.android.dx.dex.file.DexFile.add(DexFile.java:161) > [warn] at com.android.dx.command.dexer.Main.processClass(Main.java:685) > [warn] at > com.android.dx.command.dexer.Main.processFileBytes(Main.java:634) > [warn] at com.android.dx.command.dexer.Main.access$600(Main.java:78) > [warn] at > com.android.dx.command.dexer.Main$ParallelProcessor.run(Main.java:1550) > [warn] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [warn] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [warn] at java.lang.Thread.run(Thread.java:724) > > I see there is a possibly related, closed issue here; > https://github.com/pfn/android-sdk-plugin/issues/60 > > but I couldn't find a command to cache duplicate classes? > > > > On Monday, October 6, 2014 2:02:42 AM UTC+2, pfn wrote: >> >> Proguard notes are not errors >> >> -- >> Sent from my phone >> On Oct 5, 2014 2:26 PM, <[email protected]> wrote: >> >>> I'm struggling abit with various dependencies a single java lib >>> requires, added from a 3rd party maven repo. >>> >>> For various classes - I get alot of; >>> Note: duplicate definition of program class >>> [com.google.common.annotations.Beta] >>> Note: duplicate definition of program class >>> [com.google.common.annotations.GwtCompatible] >>> >>> First I tried apkbuildExcludes in Android, for files like >>> META-INF/DEPENDENCIES >>> >>> I've tried exclude() in my libraryDependencies to filter out the libs >>> that aren't required >>> >>> if I add; >>> conflictManager := ConflictManager.strict >>> >>> On android:package-release, I immediately get; >>> >>> [info] Resolving org.codehaus.plexus#plexus-compiler-api;2.2 ... >>> [error] org.codehaus.plexus#plexus-utils;3.0.8 (needed by >>> [org.codehaus.plexus#plexus-compiler-api;2.2]) conflicts with >>> org.codehaus.plexus#plexus-utils;2.0.6 (needed by []) >>> [trace] Stack trace suppressed: run last *:update for the full output. >>> [error] (*:update) >>> org.apache.ivy.plugins.conflict.StrictConflictException: >>> org.codehaus.plexus#plexus-utils;3.0.8 (needed by >>> [org.codehaus.plexus#plexus-compiler-api;2.2]) conflicts with >>> org.codehaus.plexus#plexus-utils;2.0.6 (needed by []) >>> >>> I saw sbt-assembly plugin and was wondering if I could use a >>> MergeStrategy here, somehow? >>> >>> Any ideas how I can resolve this? >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "scala-on-android" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >>
-- You received this message because you are subscribed to the Google Groups "scala-on-android" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
