Native bridge initialized.
Checking for getEnvValues.
Ready for native bridge tests.
Checking for support.
Getting trampoline for JNI_OnLoad with shorty (null).
Test ART callbacks: all JNI function number is 11.
    name:booleanMethod, signature:(ZZZZZZZZZZ)Z, shorty:ZZZZZZZZZZZ.
    name:byteMethod, signature:(BBBBBBBBBB)B, shorty:BBBBBBBBBBB.
    name:charMethod, signature:(CCCCCCCCCC)C, shorty:CCCCCCCCCCC.
    name:shortMethod, signature:(SSSSSSSSSS)S, shorty:SSSSSSSSSSS.
    name:testCallStaticVoidMethodOnSubClassNative, signature:()V, shorty:V.
    name:testFindClassOnAttachedNativeThread, signature:()V, shorty:V.
    name:testFindFieldOnAttachedNativeThreadNative, signature:()V, shorty:V.
    name:testGetMirandaMethodNative, signature:()Ljava/lang/reflect/Method;, shorty:L.
    name:testNewStringObject, signature:()V, shorty:V.
    name:testSignal, signature:()I, shorty:I.
    name:testZeroLengthByteBuffers, signature:()V, shorty:V.
trampoline_JNI_OnLoad called!
JNI_OnLoad called
Getting trampoline for Java_Main_testFindClassOnAttachedNativeThread with shorty V.
trampoline_Java_Main_testFindClassOnAttachedNativeThread called!
Getting trampoline for Java_Main_testFindFieldOnAttachedNativeThreadNative with shorty V.
trampoline_Java_Main_testFindFieldOnAttachedNativeThreadNative called!
Getting trampoline for Java_Main_testCallStaticVoidMethodOnSubClassNative with shorty V.
trampoline_Java_Main_testCallStaticVoidMethodOnSubClassNative called!
Getting trampoline for Java_Main_testGetMirandaMethodNative with shorty L.
trampoline_Java_Main_testGetMirandaMethodNative called!
Getting trampoline for Java_Main_testZeroLengthByteBuffers with shorty V.
trampoline_Java_Main_testZeroLengthByteBuffers called!
Getting trampoline for Java_Main_byteMethod with shorty BBBBBBBBBBB.
trampoline_Java_Main_byteMethod called!
trampoline_Java_Main_byteMethod called!
trampoline_Java_Main_byteMethod called!
trampoline_Java_Main_byteMethod called!
trampoline_Java_Main_byteMethod called!
trampoline_Java_Main_byteMethod called!
trampoline_Java_Main_byteMethod called!
Getting trampoline for Java_Main_shortMethod with shorty SSSSSSSSSSS.
trampoline_Java_Main_shortMethod called!
trampoline_Java_Main_shortMethod called!
trampoline_Java_Main_shortMethod called!
trampoline_Java_Main_shortMethod called!
trampoline_Java_Main_shortMethod called!
trampoline_Java_Main_shortMethod called!
trampoline_Java_Main_shortMethod called!
trampoline_Java_Main_shortMethod called!
trampoline_Java_Main_shortMethod called!
Getting trampoline for Java_Main_booleanMethod with shorty ZZZZZZZZZZZ.
trampoline_Java_Main_booleanMethod called!
trampoline_Java_Main_booleanMethod called!
Getting trampoline for Java_Main_charMethod with shorty CCCCCCCCCCC.
trampoline_Java_Main_charMethod called!
trampoline_Java_Main_charMethod called!
trampoline_Java_Main_charMethod called!
trampoline_Java_Main_charMethod called!
trampoline_Java_Main_charMethod called!
trampoline_Java_Main_charMethod called!
trampoline_Java_Main_charMethod called!
trampoline_Java_Main_charMethod called!
Getting trampoline for Java_Main_testNewStringObject with shorty V.
trampoline_Java_Main_testNewStringObject called!
Getting trampoline for Java_Main_testSignal with shorty I.
NB signal handler with signal 11.
NB signal handler with signal 4.
