Hi All,

I'm getting VerifyErrors when running unit tests. My tests are setup
as a separate eclipse project which references the project I am
testing. I have a class in my project which I use fairly heavily in my
test project and this class is getting rejected by Dalvik. I had a
look around and found this:
http://groups.google.com/group/android-developers/browse_thread/thread/5537ae10e4143240.
I also have a  third party jar on the build path of both the project
under test and the test project. This causes no problems when running
the project under test so I can't see why it should when running the
test project, basically I'm stumped.

I have posted the error text below, MyProjectClass is a class in the
project under test which is used fairly heavily in the test project.
ThirdPartyInterface is an interface from a third party jar which is
implemented by MyProjectClass.

W/dalvikvm(  969): Class resolved by unexpected DEX:
Lmyproject.mypackage/android/data/MyProjectClass;(0x437359d0):0x1945e0
ref [Lmyproject.mypackage/ThirdPartyInterface;] Lmyproject.mypackage/
ThirdPartyInterface;(0x437359d0):0x18f2b0
I/dalvikvm(  969): Failed resolving Lmyproject.mypackage/android/data/
MyProjectClass; interface 410 'Lmyproject.mypackage/
ThirdPartyInterface;'
W/dalvikvm(  969): Link of class 'Lmyproject.mypackage/android/data/
MyProjectClass;' failed
W/dalvikvm(  969): VFY: unable to find class referenced in signature
(Lmyproject.mypackage/android/data/MyProjectClass;)
W/dalvikvm(  969): Class resolved by unexpected DEX:
Lmyproject.mypackage/android/data/MyProjectClass;(0x437359d0):0x1945e0
ref [Lmyproject.mypackage/ThirdPartyInterface;] Lmyproject.mypackage/
ThirdPartyInterface;(0x437359d0):0x18f2b0
I/dalvikvm(  969): Failed resolving Lmyproject.mypackage/android/data/
MyProjectClass; interface 410 'Lmyproject.mypackage/
ThirdPartyInterface;'
W/dalvikvm(  969): Link of class 'Lmyproject.mypackage/android/data/
MyProjectClass;' failed
E/dalvikvm(  969): Could not find method
myproject.mypackage.MyProjectClass.getName, referenced from method
myproject.mypackage.MyTestCase.myTestMethod
W/dalvikvm(  969): VFY: unable to resolve virtual method 1492:
Lmyproject.mypackage/android/data/MyProjectClass.getName ()Ljava/lang/
String;
W/dalvikvm(  969): VFY:  rejecting opcode 0x6e at 0x000a
W/dalvikvm(  969): VFY:  rejected Lmyproject.mypackage/android/data/
MyTestCase.myTestMethod ()V
W/dalvikvm(  969): Verifier rejected class Lmyproject.mypackage/
android/data/MyTestCase;
D/AndroidRuntime(  969): Shutting down VM
W/dalvikvm(  969): threadid=3: thread exiting with uncaught exception
(group=0x4000fe70)
E/AndroidRuntime(  969): Uncaught handler: thread main exiting due to
uncaught exception
E/AndroidRuntime(  969): java.lang.VerifyError:
myproject.mypackage.MyTestCase
E/AndroidRuntime(  969):        at java.lang.Class.getDeclaredConstructors
(Native Method)
E/AndroidRuntime(  969):        at java.lang.Class.getConstructor(Class.java:
484)
E/AndroidRuntime(  969):        at
junit.framework.TestSuite.getTestConstructor(TestSuite.java:177)
E/AndroidRuntime(  969):        at junit.framework.TestSuite.<init>
(TestSuite.java:59)
E/AndroidRuntime(  969):        at junit.runner.BaseTestRunner.getTest
(BaseTestRunner.java:103)
E/AndroidRuntime(  969):        at android.test.AndroidTestRunner.getTest
(AndroidTestRunner.java:124)
E/AndroidRuntime(  969):        at
android.test.AndroidTestRunner.setTestClassName(AndroidTestRunner.java:
52)
E/AndroidRuntime(  969):        at
android.test.suitebuilder.TestSuiteBuilder.addTestClassByName
(TestSuiteBuilder.java:81)
E/AndroidRuntime(  969):        at
android.test.InstrumentationTestRunner.parseTestClass
(InstrumentationTestRunner.java:368)
E/AndroidRuntime(  969):        at
android.test.InstrumentationTestRunner.parseTestClasses
(InstrumentationTestRunner.java:350)
E/AndroidRuntime(  969):        at
android.test.InstrumentationTestRunner.onCreate
(InstrumentationTestRunner.java:318)
E/AndroidRuntime(  969):        at
android.app.ActivityThread.handleBindApplication(ActivityThread.java:
3601)
E/AndroidRuntime(  969):        at android.app.ActivityThread.access$2500
(ActivityThread.java:112)
E/AndroidRuntime(  969):        at android.app.ActivityThread$H.handleMessage
(ActivityThread.java:1729)
E/AndroidRuntime(  969):        at android.os.Handler.dispatchMessage
(Handler.java:99)
E/AndroidRuntime(  969):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  969):        at android.app.ActivityThread.main
(ActivityThread.java:3948)
E/AndroidRuntime(  969):        at java.lang.reflect.Method.invokeNative
(Native Method)
E/AndroidRuntime(  969):        at java.lang.reflect.Method.invoke
(Method.java:521)
E/AndroidRuntime(  969):        at com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:782)
E/AndroidRuntime(  969):        at com.android.internal.os.ZygoteInit.main
(ZygoteInit.java:540)
E/AndroidRuntime(  969):        at dalvik.system.NativeStart.main(Native
Method)
I/Process (  604): Sending signal. PID: 969 SIG: 3
W/ActivityManager(  604): Error in app myapp running instrumentation
ComponentInfo{myandroidtestpackage/
android.test.InstrumentationTestRunner}:
W/ActivityManager(  604):   myproject.mypackage.MyTestCase
W/ActivityManager(  604):   java.lang.VerifyError:
myproject.mypackage.MyTestCase

Really grateful for any help, have been banging my head against this
all day.

Cheers

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to