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] <javascript:>> 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] <javascript:>.
>> 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.

Reply via email to