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 [email protected].
For more options, visit https://groups.google.com/d/optout.