banshee / AndroidProguardScala

An Eclipse builder for Android projects using Scala
136 stars 10 forks source link

android.util.Log.isLoggable method crashes application #47

Closed DetriusXii closed 11 years ago

DetriusXii commented 11 years ago

I was compiling a sample version of the SyncAdapter using a AndroidProguardScala. The authentication service class had a standard if statement

if (Log.isLoggable(AccountAuthenticatorService.TAG, Log.VERBOSE)) {
  Log.v(AccountAuthenticatorService.TAG, 
      "AccountAuthenticatorService started")
}

If I remove the Log.isLoggable statement, the application runs correctly. Here's the relevant stack trace

I/ActivityManager( 1018): Start proc ca.cityhall.regina for service ca.cityhall.regina/.services.AccountAuthenticatorService: pid=2100 uid=10043 gids={1028}

I/Choreographer( 1272): Skipped 56 frames! The application may be doing too much work on its main thread.

E/Trace ( 2100): error opening trace file: No such file or directory (2)

I/dalvikvm( 2100): Could not find method scala.runtime.BoxesRunTime.boxToInteger, referenced from method ca.cityhall.regina.services.AccountAuthenticatorService.onBind

W/dalvikvm( 2100): VFY: unable to resolve static method 262: Lscala/runtime/BoxesRunTime;.boxToInteger (I)Ljava/lang/Integer;

D/dalvikvm( 2100): VFY: replacing opcode 0x71 at 0x0019

W/dalvikvm( 2100): VFY: unable to resolve static field 105 (UNIT) in Lscala/runtime/BoxedUnit;

D/dalvikvm( 2100): VFY: replacing opcode 0x62 at 0x0025

I/dalvikvm( 2100): Could not find method scala.runtime.BoxesRunTime.boxToInteger, referenced from method ca.cityhall.regina.services.AccountAuthenticatorService.onCreate

W/dalvikvm( 2100): VFY: unable to resolve static method 262: Lscala/runtime/BoxesRunTime;.boxToInteger (I)Ljava/lang/Integer;

D/dalvikvm( 2100): VFY: replacing opcode 0x71 at 0x0019

W/dalvikvm( 2100): VFY: unable to resolve static field 105 (UNIT) in Lscala/runtime/BoxedUnit;

D/dalvikvm( 2100): VFY: replacing opcode 0x62 at 0x0030

D/AndroidRuntime( 2100): Shutting down VM

W/dalvikvm( 2100): threadid=1: thread exiting with uncaught exception (group=0xb4ece288)

E/AndroidRuntime( 2100): FATAL EXCEPTION: main

E/AndroidRuntime( 2100): java.lang.NoClassDefFoundError: scala.runtime.BoxedUnit

E/AndroidRuntime( 2100): at ca.cityhall.regina.services.AccountAuthenticatorService.onCreate(AccountAuthenticatorService.scala:19)

E/AndroidRuntime( 2100): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2363)

E/AndroidRuntime( 2100): at android.app.ActivityThread.access$1600(ActivityThread.java:130)

E/AndroidRuntime( 2100): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1277)

E/AndroidRuntime( 2100): at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime( 2100): at android.os.Looper.loop(Looper.java:137)

E/AndroidRuntime( 2100): at android.app.ActivityThread.main(ActivityThread.java:4745)

E/AndroidRuntime( 2100): at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime( 2100): at java.lang.reflect.Method.invoke(Method.java:511)

E/AndroidRuntime( 2100): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)

E/AndroidRuntime( 2100): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)

E/AndroidRuntime( 2100): at dalvik.system.NativeStart.main(Native Method)

DetriusXii commented 11 years ago

Going to mark it as closed. I found a StackOverflow post http://stackoverflow.com/questions/17122422/noclassdeffounderror-boxedunit-on-scala-for-android

. I needed to add Android private libraries to the exported libraries for the application