2012-04-12 24 views
9

Desde que actualicé mi SDK de Android, recibí un error de java.lang.VerifyError al arrancar la aplicación que estaba trabajando anteriormente.La actualización de Android SDK causa la falla de java.lang.VerifyError

En cuanto a los registros, hay algunas nuevas cuestiones que condujeron al accidente que no estaban allí anteriormente:

Could not find method android.support.v4.content.LocalBroadcastManager.getInstance, referenced from method com.myapp.android.App.setOAuthLoginState 
04-12 19:43:10.249: W/dalvikvm(9508): VFY: unable to resolve static method 251: Landroid/support/v4/content/LocalBroadcastManager;.getInstance (Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; 
04-12 19:43:10.249: D/dalvikvm(9508): VFY: replacing opcode 0x71 at 0x0014 

android.support.v4.content.LocalBroadcastManager.getInstance parece estar todavía en el código fuente de la biblioteca Android Compatibilidad. Esta advertencia se registra antes de que mi App.onCreate() se llame BTW.

He intentado usar tanto en la versión anterior de android-support-v4.jar que ya había trabajado con mi solicitud, así como la nueva versión de android-support-v4.jar incluido en el último SDK, pero el resultado es el mismo en ambos casos (que parece interesante, ¿verdad?) .

también extraña es la corriente de advertencias de este modo:

W/dalvikvm(12455): VFY: unable to find class referenced in signature (Ltwitter4j/User;) 

La biblioteca Twitter4J referencia aquí parece estar incluida correctamente en mi proyecto.

Todavía estoy aprendiendo Java, así que no estoy seguro de qué podría estar causando este problema. Cualquier ayuda sería muy apreciada.

FYI el registro completo es el siguiente:

04-12 19:43:07.585: W/ActivityThread(9508): Application com.myapp.android is waiting for the debugger on port 8100... 
04-12 19:43:07.593: I/System.out(9508): Sending WAIT chunk 
04-12 19:43:07.601: I/dalvikvm(9508): Debugger is active 
04-12 19:43:07.796: I/System.out(9508): Debugger has connected 
04-12 19:43:07.796: I/System.out(9508): waiting for debugger to settle... 
04-12 19:43:10.007: I/System.out(9508): debugger has settled (1403) 
04-12 19:43:10.249: I/dalvikvm(9508): Could not find method android.support.v4.content.LocalBroadcastManager.getInstance, referenced from method com.myapp.android.App.setOAuthLoginState 
04-12 19:43:10.249: W/dalvikvm(9508): VFY: unable to resolve static method 251: Landroid/support/v4/content/LocalBroadcastManager;.getInstance (Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager; 
04-12 19:43:10.249: D/dalvikvm(9508): VFY: replacing opcode 0x71 at 0x0014 
04-12 19:43:10.265: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/Twitter;) 
04-12 19:43:10.265: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/Twitter;) 
04-12 19:43:10.272: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/User;) 
04-12 19:43:10.272: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/User;) 
04-12 19:43:10.272: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/User;) 
04-12 19:43:10.272: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/User;) 
04-12 19:43:10.272: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/User;) 
04-12 19:43:10.272: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/User;) 
04-12 19:43:10.272: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/Twitter;) 
04-12 19:43:10.280: E/dalvikvm(9508): Could not find class 'twitter4j.conf.ConfigurationBuilder', referenced from method org.tweetalib.twitter.TwitterManager.getAndConfigureTwitterInstance 
04-12 19:43:10.280: W/dalvikvm(9508): VFY: unable to resolve new-instance 528 (Ltwitter4j/conf/ConfigurationBuilder;) in Lorg/tweetalib/twitter/TwitterManager; 
04-12 19:43:10.280: D/dalvikvm(9508): VFY: replacing opcode 0x22 at 0x0013 
04-12 19:43:10.288: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/auth/RequestToken;) 
04-12 19:43:10.288: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/auth/RequestToken;) 
04-12 19:43:10.296: W/dalvikvm(9508): VFY: unable to find class referenced in signature (Ltwitter4j/Twitter;) 
04-12 19:43:10.296: I/dalvikvm(9508): Could not find method twitter4j.Twitter.getAccountSettings, referenced from method org.tweetalib.twitter.TwitterManager.isAuthenticated 
04-12 19:43:10.296: W/dalvikvm(9508): VFY: unable to resolve interface method 2419: Ltwitter4j/Twitter;.getAccountSettings()Ltwitter4j/AccountSettings; 
04-12 19:43:10.296: D/dalvikvm(9508): VFY: replacing opcode 0x72 at 0x0008 
04-12 19:43:10.296: W/dalvikvm(9508): VFY: unable to resolve exception class 519 (Ltwitter4j/TwitterException;) 
04-12 19:43:10.296: W/dalvikvm(9508): VFY: unable to find exception handler at addr 0xd 
04-12 19:43:10.296: W/dalvikvm(9508): VFY: rejected Lorg/tweetalib/twitter/TwitterManager;.isAuthenticated()Z 
04-12 19:43:10.296: W/dalvikvm(9508): VFY: rejecting opcode 0x0d at 0x000d 
04-12 19:43:10.296: W/dalvikvm(9508): VFY: rejected Lorg/tweetalib/twitter/TwitterManager;.isAuthenticated()Z 
04-12 19:43:10.296: W/dalvikvm(9508): Verifier rejected class Lorg/tweetalib/twitter/TwitterManager; 
04-12 19:43:10.538: D/dalvikvm(9508): threadid=1: still suspended after undo (sc=1 dc=1) 
04-12 19:43:16.780: D/AndroidRuntime(9508): Shutting down VM 
04-12 19:43:16.780: W/dalvikvm(9508): threadid=1: thread exiting with uncaught exception (group=0x40a5a1f8) 
04-12 19:43:16.804: E/AndroidRuntime(9508): FATAL EXCEPTION: main 
04-12 19:43:16.804: E/AndroidRuntime(9508): java.lang.VerifyError: org/tweetalib/twitter/TwitterManager 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at com.myapp.android.App.onCreate(App.java:308) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3925) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at android.app.ActivityThread.access$1300(ActivityThread.java:122) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1184) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at android.os.Looper.loop(Looper.java:137) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at android.app.ActivityThread.main(ActivityThread.java:4340) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at java.lang.reflect.Method.invoke(Method.java:511) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
04-12 19:43:16.804: E/AndroidRuntime(9508):  at dalvik.system.NativeStart.main(Native Method) 
04-12 19:43:20.585: W/jdwp(9508): Debugger is telling the VM to exit with code=1 
04-12 19:43:20.585: I/dalvikvm(9508): GC lifetime allocation: 10536 bytes 
+4

Ha colocado la biblioteca en la carpeta/libs (nota: no/lib) – 207

+0

@ 207 - ¡Mi héroe! Tengo curiosidad por la razón de este comportamiento? ¿Desea agregar esto como respuesta para marcarlo como la solución correcta? –

+0

De nada. Me alegro de que te ayudó – 207

Respuesta

14

La biblioteca tiene que ser colocado en la carpeta/libs (nota: no/lib)

0

La biblioteca debe ser colocado en la carpeta /libs, no/lib!

0

dos soluciones posibles para este problema

  1. Mover todos los archivos jar de lib a LIBS
  2. Si está utilizando Ant para construir con Proguard luego añadir siguiente en el archivo Proguard

     -keep class android.support.** { *; } 
         -dontnote android.support.** 
         -dontwarn android.support.** 
    
Cuestiones relacionadas