Hello everyone,

I'm having trouble executing instrumentation tests using the android maven 
plugin. I have followed the "libraryprojects" example to the last detail, 
however, there is one slight difference in my setup ~ i'm adding the android 
support jar as an external dependency.

My setup looks as follows:

APK lib project (greendroid to be specific)

<dependency>
  <groupId>com.google.android</groupId>
  <artifactId>support-v4</artifactId>
  <version>r6</version>
</dependency>        

<dependency>
    <groupId>com.google.android</groupId>
    <artifactId>android</artifactId>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
</dependency>
APK project

<dependency>
    <groupId>com.google.android</groupId>
    <artifactId>android</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>greendroid</groupId>
    <artifactId>GreenDroidFragment</artifactId>
    <version>1.0.0-SNAPSHOT</version>   
    <type>apklib</type>                 
</dependency>
APK test project (and here's the problem .... )

<dependency>
      <groupId>com.google.android</groupId>
      <artifactId>support-v4</artifactId>
      <version>r6</version>
</dependency>                   
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android-test</artifactId>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>com.jayway.android.robotium</groupId>
        <artifactId>robotium-solo</artifactId>
        <version>3.2.1</version>
    </dependency>

    <dependency>
        <groupId>com.entersectmobile</groupId>
        <artifactId>NMACFragment</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <type>apk</type>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>com.entersectmobile</groupId>
        <artifactId>NMACFragment</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <type>jar</type>
        <scope>provided</scope>
    </dependency>  
The problem is that delvik is unable to find or link support jar upon running 
instrumentation tests.

By packaging the android support jar as part of the APK test project, delvik 
complains that it's unable to resolve the compiled code. This is because the 
dex output of the main APK is different from the dex output of the test APK.

W/dalvikvm(328): Class resolved by unexpected DEX:      
Lcom/entersectmobile/android/nedbank/GenerateOtpFragment;(0x44edffb0):0x121de0 
ref   
[Landroid/support/v4/app/Fragment;] 
Landroid/support/v4/app/Fragment;(0x44edffb0)
By not packaging the android support as part of the APK test project, delvik is 
unable to locate the compiled code. This happens when making the scope provided 
or excluding the dependency completely.

W/ClassPathPackageInfoSource(632): Cannot load class. Make sure it is in your 
apk.
Class name: 'android.support.v4.os.ParcelableCompatCreatorHoneycombMR2'. 
Message: android.support.v4.os.ParcelableCompatCreatorHoneycombMR2
The only thing I can think of is to somehow manually tell the APK test project 
to resolve the android-support dependency from the main APK project using a 
delvik linking mechanism.

Any ideas would be much appreciated, 
Thanks
-Michael

-- 
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