Skip to content

Calling SomeClass::new with method reference sometimes causes a crash on Android #67

Closed
@konmik

Description

@konmik

I didn't test it on JVM.

public class Factory {
    public Factory(Runnable runnable) {
    }
}

public class BuggyClass {

    public BuggyClass() {
    }

    static Factory FACTORY = new Factory(BuggyClass::new);
}


public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        new BuggyClass();
    }
}

Causes:

java.lang.VerifyError: Rejecting class com.example.konmik.retrobug.BuggyClass because it failed compile-time verification (declaration of 'com.example.konmik.retrobug.BuggyClass' appears in /data/app/com.example.konmik.retrobug-1/base.apk)
        at com.example.konmik.retrobug.MainActivity.onCreate(MainActivity.java:11)

Tested on Android 5.1, 4.2.2

using

buildscript {
    dependencies {
        classpath 'me.tatarka:gradle-retrolambda:3.2.0'
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions