I am attempting to use spray-client, and have gotten to the point of a 
successful build up to the point of Proguard shrink.  At that point, I 
receive an IndexOutOfBoundsException:

Shrinking...
java.lang.ArrayIndexOutOfBoundsException: 4
    at 
proguard.classfile.editor.InterfaceDeleter.visitSignatureAttribute(InterfaceDeleter.java:162)
    at 
proguard.classfile.attribute.SignatureAttribute.accept(SignatureAttribute.java:97)
    at 
proguard.classfile.ProgramClass.attributesAccept(ProgramClass.java:547)
    at 
proguard.classfile.editor.InterfaceDeleter.visitProgramClass(InterfaceDeleter.java:92)
    at 
proguard.shrink.ClassShrinker.visitProgramClass(ClassShrinker.java:78)
    at 
proguard.classfile.visitor.MultiClassVisitor.visitProgramClass(MultiClassVisitor.java:85)
    at 
proguard.shrink.UsedClassFilter.visitProgramClass(UsedClassFilter.java:62)
    at proguard.classfile.ProgramClass.accept(ProgramClass.java:358)
    at proguard.classfile.ClassPool.classesAccept(ClassPool.java:124)
    at proguard.shrink.Shrinker.execute(Shrinker.java:153)
    at proguard.ProGuard.shrink(ProGuard.java:286)
    at proguard.ProGuard.execute(ProGuard.java:112)
    at android.Tasks$$anonfun$82.apply(tasks.scala:1250)
    at android.Tasks$$anonfun$82.apply(tasks.scala:1223)
    at scala.Function9$$anonfun$tupled$1.apply(Function9.scala:35)
    at scala.Function9$$anonfun$tupled$1.apply(Function9.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.run(FutureTask.java:262)
    at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    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:745)
[error] (android:proguard) java.lang.ArrayIndexOutOfBoundsException: 4

Here is my build.sbt:

import android.Dependencies.aar
import android.Keys._

android.Plugin.androidBuild

platformTarget in Android := "android-21"

name := "macroid-starter"

scalaVersion := "2.11.1"

run <<= run in Android

resolvers ++= Seq(
  Resolver.sonatypeRepo("releases"),
  "bintray" at "http://dl.bintray.com/populov/maven";,
  "jcenter" at "http://jcenter.bintray.com";,
  "spray repo" at "http://repo.spray.io";
)

scalacOptions in(Compile, compile) ++=
  (dependencyClasspath in Compile).value.files.map("-P:wartremover:cp:" + 
_.toURI.toURL)

scalacOptions in(Compile, compile) ++= Seq(
  "-P:wartremover:traverser:macroid.warts.CheckUi"
)

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.3.3",
  "com.typesafe" % "config" % "1.0.2",
  "io.spray" %% "spray-client" % "1.3.1",
  "io.spray" %% "spray-json" % "1.2.6",
  aar("org.macroid" %% "macroid" % "2.0.0-SNAPSHOT"),
  aar("org.macroid" %% "macroid-viewable" % "2.0.0-M3"),
  aar("com.android.support" % "support-v4" % "21.0.0"),
  aar("com.android.support" % "appcompat-v7" % "21.0.0"),
  aar("com.android.support" % "cardview-v7" % "21.0.0"),
  aar("com.android.support" % "recyclerview-v7" % "21.0.0"),
  "ch.qos.logback" % "logback-classic" % "1.0.7",
  compilerPlugin("org.brianmckenna" %% "wartremover" % "0.10"),
  "joda-time" % "joda-time" % "2.5"
)

proguardScala in Android := true

useProguard in Android := true

proguardOptions in Android ++= Seq("@project/proguard.cfg")

proguardCache in Android ++= Seq(
  ProguardCache("macroid") % "org.macroid" %% "macroid"
)

dependencyClasspath in Compile ~= {
  _ filterNot (_.data.getName startsWith "android-support-v4")
}

apkbuildExcludes in Android ++= Seq(
  "META-INF/LICENSE.txt",
  "META-INF/LICENSE",
  "META-INF/NOTICE.txt",
  "META-INF/NOTICE",
  "reference.conf"
)

And my my resources/application.conf and projects/proguard.cfg are copied 
from here: https://github.com/anjeikatkov/android-akka-spray-example

-- 
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 scala-on-android+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to