Also, if you're publishing an artifact for a library, make sure you set libraryProject in Android := true -- R* doesn't get removed if it is not flagged as a library project.
On Mon, Sep 8, 2014 at 6:41 PM, Perry Nguyen <[email protected]> wrote: > So, I'm looking at this in the plugin: > > https://github.com/pfn/android-sdk-plugin/blob/master/src/rules.scala#L85 > > All R*.class should be removed from the published artifact. > > What are you doing? > > On Mon, Sep 8, 2014 at 6:20 PM, Perry Nguyen <[email protected]> wrote: > >> I suppose it's a bug in publishing androidlibs (plugin bug) -- >> appcompat's generated R should not be in the packaged artifact. >> >> On Mon, Sep 8, 2014 at 5:46 PM, Srinivas <[email protected]> wrote: >> >>> Yes "com.myapps.libraries.android" %% "androidlibs" % "0.1-SNAPSHOT" is >>> dependent on compact library that is why I have not included "compact" >>> library explicitly in my project >>> >>> On Monday, September 8, 2014 11:24:01 PM UTC+5:30, pfn wrote: >>>> >>>> my guess, "com.myapps.libraries.android" %% "androidlibs" % >>>> "0.1-SNAPSHOT" >>>> >>>> ^^ that library depends on appcompat? >>>> >>>> On Mon, Sep 8, 2014 at 9:56 AM, Srinivas <[email protected]> wrote: >>>> >>>>> I am using pfn/android-sdk-plugin >>>>> <https://github.com/pfn/android-sdk-plugin> in a project with the >>>>> following build.sbt: >>>>> >>>>> import android.Keys._ >>>>> >>>>> android.Plugin.androidBuild >>>>> >>>>> platformTarget in Android := "android-19" >>>>> >>>>> name := "LDApp" >>>>> >>>>> organization := "com.myapps.app.android.ldapp" >>>>> >>>>> version := "1.0" >>>>> >>>>> scalaVersion := "2.10.4" >>>>> >>>>> useProguard in Android := true >>>>> >>>>> libraryDependencies ++= Seq ( >>>>> "com.myapps.libraries.android" %% "androidlibs" % "0.1-SNAPSHOT") >>>>> >>>>> proguardCache in Android ++= Seq ( >>>>> ProguardCache("androidlibs") % "com.myapps.libraries.android" %% >>>>> "androidlibs", >>>>> ProguardCache("appcompat-v7") % "com.android.support" % "appcompat-v7") >>>>> >>>>> >>>>> Whenever I try to sbt android:run, I am getting error as Duplicate >>>>> entry, appcompact-v7 is been included myapps.libraries.android, that >>>>> is why I have not included explicitly in this application. Following is >>>>> the >>>>> error log >>>>> >>>>> Copying resources from program jar >>>>> [/Users/android/tmp/tmp/projects/LDApp/bin/classes.jar] (filtered) >>>>> java.io.IOException: Can't write >>>>> [/Users/android/tmp/tmp/projects/LDApp/bin/classes.proguard.jar] (Can't >>>>> read >>>>> [/Users/android/tmp/tmp/projects/LDApp/bin/classes.jar(;;;;;;!META-INF/**,!rootdoc.txt)] >>>>> (Duplicate zip entry >>>>> [classes.jar:android/support/v7/appcompat/R$styleable.class])) >>>>> at proguard.OutputWriter.writeOutput(OutputWriter.java:264) >>>>> at proguard.OutputWriter.execute(OutputWriter.java:160) >>>>> at proguard.ProGuard.writeOutput(ProGuard.java:372) >>>>> at proguard.ProGuard.execute(ProGuard.java:153) >>>>> at android.Tasks$$anonfun$77.apply(tasks.scala:1197) >>>>> at android.Tasks$$anonfun$77.apply(tasks.scala:1171) >>>>> at scala.Function10$$anonfun$tupled$1.apply(Function10.scala:35) >>>>> at scala.Function10$$anonfun$tupled$1.apply(Function10.scala:34) >>>>> at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) >>>>> at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42) >>>>> at sbt.std.Transform$$anon$4.work(System.scala:64) >>>>> at >>>>> sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) >>>>> at >>>>> sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) >>>>> at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18) >>>>> at sbt.Execute.work(Execute.scala:244) >>>>> at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) >>>>> at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) >>>>> at >>>>> sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) >>>>> at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) >>>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>>>> at >>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >>>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>> at java.lang.Thread.run(Thread.java:724) >>>>> Caused by: java.io.IOException: Can't read >>>>> [/Users/android/tmp/tmp/projects/LDApp/bin/classes.jar(;;;;;;!META-INF/**,!rootdoc.txt)] >>>>> (Duplicate zip entry >>>>> [classes.jar:android/support/v7/appcompat/R$styleable.class]) >>>>> at proguard.InputReader.readInput(InputReader.java:232) >>>>> at proguard.InputReader.readInput(InputReader.java:202) >>>>> at proguard.OutputWriter.writeOutput(OutputWriter.java:253) >>>>> at proguard.OutputWriter.execute(OutputWriter.java:160) >>>>> at proguard.ProGuard.writeOutput(ProGuard.java:372) >>>>> at proguard.ProGuard.execute(ProGuard.java:153) >>>>> at android.Tasks$$anonfun$77.apply(tasks.scala:1197) >>>>> at android.Tasks$$anonfun$77.apply(tasks.scala:1171) >>>>> at scala.Function10$$anonfun$tupled$1.apply(Function10.scala:35) >>>>> at scala.Function10$$anonfun$tupled$1.apply(Function10.scala:34) >>>>> at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) >>>>> at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42) >>>>> at sbt.std.Transform$$anon$4.work(System.scala:64) >>>>> at >>>>> sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) >>>>> at >>>>> sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) >>>>> at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18) >>>>> at sbt.Execute.work(Execute.scala:244) >>>>> at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) >>>>> at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) >>>>> at >>>>> sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) >>>>> at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) >>>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>>>> at >>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >>>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>> at java.lang.Thread.run(Thread.java:724) >>>>> Caused by: java.io.IOException: Duplicate zip entry >>>>> [classes.jar:android/support/v7/appcompat/R$styleable.class] >>>>> at proguard.io.JarWriter.getOutputStream(JarWriter.java:139) >>>>> at >>>>> proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:105) >>>>> at >>>>> proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:105) >>>>> at >>>>> proguard.io.FilteredDataEntryWriter.getOutputStream(FilteredDataEntryWriter.java:92) >>>>> at proguard.io.ClassRewriter.read(ClassRewriter.java:68) >>>>> at >>>>> proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87) >>>>> at >>>>> proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87) >>>>> at >>>>> proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87) >>>>> at proguard.io.JarReader.read(JarReader.java:65) >>>>> at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65) >>>>> at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53) >>>>> at proguard.InputReader.readInput(InputReader.java:228) >>>>> at proguard.InputReader.readInput(InputReader.java:202) >>>>> at proguard.OutputWriter.writeOutput(OutputWriter.java:253) >>>>> at proguard.OutputWriter.execute(OutputWriter.java:160) >>>>> at proguard.ProGuard.writeOutput(ProGuard.java:372) >>>>> at proguard.ProGuard.execute(ProGuard.java:153) >>>>> at android.Tasks$$anonfun$77.apply(tasks.scala:1197) >>>>> at android.Tasks$$anonfun$77.apply(tasks.scala:1171) >>>>> at scala.Function10$$anonfun$tupled$1.apply(Function10.scala:35) >>>>> at scala.Function10$$anonfun$tupled$1.apply(Function10.scala:34) >>>>> at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) >>>>> at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42) >>>>> at sbt.std.Transform$$anon$4.work(System.scala:64) >>>>> at >>>>> sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) >>>>> at >>>>> sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) >>>>> at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18) >>>>> at sbt.Execute.work(Execute.scala:244) >>>>> at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) >>>>> at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) >>>>> at >>>>> sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) >>>>> at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) >>>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>>>> at >>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >>>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>> at java.lang.Thread.run(Thread.java:724) >>>>> [error] (android:proguard) java.io.IOException: Can't write >>>>> [/Users/android/tmp/tmp/projects/LDApp/bin/classes.proguard.jar] (Can't >>>>> read >>>>> [/Users/android/tmp/tmp/projects/LDApp/bin/classes.jar(;;;;;;!META-INF/**,!rootdoc.txt)] >>>>> (Duplicate zip entry >>>>> [classes.jar:android/support/v7/appcompat/R$styleable.class])) >>>>> [error] Total time: 34 s, completed 5 Sep, 2014 6:15:10 PM >>>>> >>>>> >>>>> R$styleable.class is been generated as part of application also and is >>>>> part of compact-v7 library as well, how to resolve this issue, even >>>>> though similar issues seen around those solutions have not helped. >>>>> >>>>> -- >>>>> 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. >>> >> >> > -- 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.
