JakeWharton / hugo

Annotation-triggered method call logging for your debug builds.
Apache License 2.0
7.92k stars 797 forks source link

java.lang.VerifyError when using @DebugLog #134

Open jeffcharles opened 8 years ago

jeffcharles commented 8 years ago

I have an activity that looks like:

package com.cantireinnovations.<redacted>;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import hugo.weaving.DebugLog;

public class MainActivity extends AppCompatActivity {

    @Override
    @DebugLog
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

and I get:

W/dalvikvm: VFY: invoke type does not match method type of Ljava/lang/Object;.toString
W/dalvikvm: VFY:  rejecting opcode 0x70 at 0x002c
W/dalvikvm: VFY:  rejected Lcom/cantireinnovations/<redacted>/MainActivity$AjcClosure1;.access$super (Lcom/cantireinnovations/<redacted>/MainActivity$AjcClosure1;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
W/dalvikvm: Verifier rejected class Lcom/cantireinnovations/<redacted>/MainActivity$AjcClosure1;
E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                      Process: com.cantireinnovations.<redacted>, PID: 22561
                                                                                      java.lang.VerifyError: com/cantireinnovations/<redacted>/MainActivity$AjcClosure1
                                                                                          at com.cantireinnovations.<redacted>.MainActivity.onCreate(MainActivity.java:46)
                                                                                          at android.app.Activity.performCreate(Activity.java:5243)
                                                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
                                                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
                                                                                          at android.app.ActivityThread.access$700(ActivityThread.java:135)
                                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                          at android.os.Looper.loop(Looper.java:137)
                                                                                          at android.app.ActivityThread.main(ActivityThread.java:4998)
                                                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                          at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
                                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
                                                                                          at dalvik.system.NativeStart.main(Native Method)

when running it. If I remove @DebugLog, everything works. This is using hugo-plugin:1.2.1, gradle 2.10, android gradle plugin 2.0.0, buildToolsVersion 24.0.0 rc3, running on Android 4.4.

joielechong commented 8 years ago

+1 I also encounter this error but after I upgrade to Android Studio 2.1.1. No kind of this error happen when I use Android Studio 1.5.

Calling this method:

@DebugLog 
private void showAds() {
mAdView.loadAd(GlobalVar.adRequest);
}

will generate this error:

com.<redacted> E/AndroidRuntime: FATAL EXCEPTION: main java.lang.VerifyError: com/<redacted>/ContentsActivity$AjcClosure1 at com.<redacted>.content.ContentsActivity.showAds(ContentsActivity.java:71) at com.<redacted>.content.ContentsActivity.onCreate(ContentsActivity.java:51) at android.app.Activity.performCreate(Activity.java:4465) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1059) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) at android.app.ActivityThread.access$600(ActivityThread.java:123) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4429) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) at dalvik.system.NativeStart.main(Native Method)

nbossard commented 8 years ago

Same thing for me, android studio 2.1.1, java-8-openjdk-amd64.

HuangFuFw commented 7 years ago

Some people solved this problem ?

Icetraveller commented 7 years ago

Ok, I've met the same issue. After some research, I think it's related to instant run.

Disable instant run and try again, it should work.

HuangFuFw commented 7 years ago

android 4.4 having this issue android 5.0 it's ok