You need to change from two project set up to having your tests under
tests/src in your main project.

Remember, no test classes are packaged in apks, the dx tool is using a
back channel from  emulator or device to your project folder. In which
case the 'extra' 3rd party library is causing problems in your
separate test project.
There are several blog posts with build script examples describing how
to do aone project setup to have both main code and tests..use Google
Search to find..

Fred Grott
http://mobilebytes.wordpress.com







On Aug 5, 10:29 am, Alex G <quixop...@googlemail.com> wrote:
> 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/threa....
> 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