Thanks a lot to both Perry (pfn) and Nick for their time and suggestions.
I think the important Proguard configuration to solve the above problem is
this (using sbt):
proguardOptions in Android ++= Seq(
"-keep class akka.persistence.**",
"""|-keepclasseswithmembers class akka.persistence.** {
| <init>(...);
|}""".stripMargin
)
On Friday, June 20, 2014 4:49:58 PM UTC-5, Nick Stanchenko wrote:
>
> Hi,
>
> Since you are invoking akka.actor.NoArgsReflectConstructor, I would guess
> that you have something like Props[MyActor]. Try adding a keep rule for
> MyActor class, or use Props(new Actor), which does not use reflection.
>
> Nick
>
> On Friday, June 20, 2014 10:26:26 PM UTC+2, Oscar Vargas Torres wrote:
>>
>> HELP! I haven't been able to figure out how to correct the following
>> errors in one application that uses akka-persistence. The problem should be
>> Proguard is cutting necessary stuff
>>
>> This is my current build.sbt with my `proguardOptions in Android`
>> configuration http://pastie.org/9309501
>> I am using android-sdk-plugin version 1.2.17.
>>
>> 06-20 15:10:01.176 9784-9798/com.optrak.experiment I/System.out﹕
>> [ERROR] [06/20/2014 15:10:01.149]
>> [Experiment-akka.actor.default-dispatcher-4]
>> [akka://Experiment/system/snapshot-store] <init> []
>> 06-20 15:10:01.176 9784-9798/com.optrak.experiment I/System.out﹕
>> akka.actor.ActorInitializationException: exception during creation
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorInitializationException$.apply(Actor.scala:164)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.create(ActorCell.scala:596)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.invokeAll$1(ActorCell.scala:456)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.systemInvoke(ActorCell.scala:478)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.dispatch.Mailbox.run(Mailbox.scala:219)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Thread.run(Thread.java:841)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕
>> Caused by: java.lang.NoSuchMethodException: <init> []
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Class.getConstructorOrMethod(Class.java:472)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Class.getDeclaredConstructor(Class.java:562)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$2.apply(DynamicAccess.scala:76)
>> 06-20 15:10:01.186 9784-9784/com.optrak.experiment D/OpenGLRenderer﹕
>> Enabling debug mode 0
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.util.Try$.apply(Try.scala:191)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess.createInstanceFor(DynamicAccess.scala:73)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$3.apply(DynamicAccess.scala:84)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$3.apply(DynamicAccess.scala:84)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.util.Success.flatMap(Try.scala:230)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess.createInstanceFor(DynamicAccess.scala:84)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization$$anonfun$serializerOf$1.applyOrElse(Serialization.scala:166)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization$$anonfun$serializerOf$1.applyOrElse(Serialization.scala:165)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.util.Failure.recoverWith(Try.scala:202)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization.serializerOf(Serialization.scala:165)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization$$anonfun$3.apply(Serialization.scala:174)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization$$anonfun$3.apply(Serialization.scala:174)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:728)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.collection.immutable.Map$Map4.foreach(Map.scala:188)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:727)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization.<init>(Serialization.scala:174)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:15)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:12)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:711)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ExtensionId$class.apply(Extension.scala:79)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.SerializationExtension$.apply(SerializationExtension.scala:12)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.persistence.snapshot.local.LocalSnapshotStore.<init>(LocalSnapshotStore.scala:33)
>> 06-20 15:10:01.186 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Class.newInstanceImpl(Native Method)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Class.newInstance(Class.java:1208)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.util.Reflect$.instantiate(Reflect.scala:45)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.NoArgsReflectConstructor.produce(Props.scala:358)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.Props.newActor(Props.scala:249)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.newActor(ActorCell.scala:552)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.create(ActorCell.scala:578)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ ... 7
>> more
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕
>> [ERROR] [06/20/2014 15:10:01.152]
>> [Experiment-akka.actor.default-dispatcher-4]
>> [akka://Experiment/system/journal] <init> []
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕
>> akka.actor.ActorInitializationException: exception during creation
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorInitializationException$.apply(Actor.scala:164)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.create(ActorCell.scala:596)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.invokeAll$1(ActorCell.scala:456)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.systemInvoke(ActorCell.scala:478)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.dispatch.Mailbox.run(Mailbox.scala:219)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Thread.run(Thread.java:841)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕
>> Caused by: java.lang.NoSuchMethodException: <init> []
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Class.getConstructorOrMethod(Class.java:472)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Class.getDeclaredConstructor(Class.java:562)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$2.apply(DynamicAccess.scala:76)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.util.Try$.apply(Try.scala:191)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess.createInstanceFor(DynamicAccess.scala:73)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$3.apply(DynamicAccess.scala:84)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$3.apply(DynamicAccess.scala:84)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.util.Success.flatMap(Try.scala:230)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ReflectiveDynamicAccess.createInstanceFor(DynamicAccess.scala:84)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization$$anonfun$serializerOf$1.applyOrElse(Serialization.scala:166)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization$$anonfun$serializerOf$1.applyOrElse(Serialization.scala:165)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.util.Failure.recoverWith(Try.scala:202)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization.serializerOf(Serialization.scala:165)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization$$anonfun$3.apply(Serialization.scala:174)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization$$anonfun$3.apply(Serialization.scala:174)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:728)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.collection.immutable.Map$Map4.foreach(Map.scala:188)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:727)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.Serialization.<init>(Serialization.scala:174)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:15)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:12)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:711)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ExtensionId$class.apply(Extension.scala:79)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.serialization.SerializationExtension$.apply(SerializationExtension.scala:12)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.persistence.journal.leveldb.LeveldbStore$class.$init$(LeveldbStore.scala:43)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.persistence.journal.leveldb.LeveldbJournal.<init>(LeveldbJournal.scala:20)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Class.newInstanceImpl(Native Method)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> java.lang.Class.newInstance(Class.java:1208)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.util.Reflect$.instantiate(Reflect.scala:45)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.NoArgsReflectConstructor.produce(Props.scala:358)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.Props.newActor(Props.scala:249)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.newActor(ActorCell.scala:552)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ at
>> akka.actor.ActorCell.create(ActorCell.scala:578)
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕ ... 7
>> more
>> 06-20 15:10:01.196 9784-9798/com.optrak.experiment I/System.out﹕
>> [INFO] [06/20/2014 15:10:01.167]
>> [Experiment-akka.actor.default-dispatcher-4]
>> [akka://Experiment/system/snapshot-store] Message
>> [akka.persistence.SnapshotProtocol$LoadSnapshot] from
>> Actor[akka://Experiment/user/FSMProcessor#-271234310] to
>> Actor[akka://Experiment/system/snapshot-store#-262221539] was not
>> delivered. [1] dead letters encountered. This logging can be turned off or
>> adjusted with configuration settings 'akka.log-dead-letters' and
>> 'akka.log-dead-letters-during-shutdown'.
>> 06-20 15:10:01.247 566-581/? I/ActivityManager﹕ Displayed
>> com.optrak.experiment/.InitialAA: +982ms
>>
>
--
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.