The classes in lib1 - as if the library was not actually included in the 
apk - which I should have checked explicitly.  I'll create an example 
project to share this weekend to demonstrate the case; may prove 
informative anyway.

thanks,
greg

On Thursday, February 5, 2015 at 5:36:26 PM UTC-8, Xavier Ducrohet wrote:
>
> It's not clear to me what the problem is. Can you say more about what 
> becomes broken when you add the androidTestCompile?
>
> What exact classdef error are you getting? On which class is that error 
> (where is it coming from?)
>
> On Tue, Feb 3, 2015 at 6:11 PM, Greg Macdonald <[email protected] 
> <javascript:>> wrote:
>
>> Given a multi-module project with compile dependencies of the main app on 
>> subprojects, adding a androidTestCompile breaks dependencies on other 
>> subprojects.
>>
>> Given app:build.gradel
>>
>>    dependencies {
>>       compile project(':lib1')
>>       androidTestCompile project(':testfixture')
>>    }
>>
>> The presence of the androidTestCompile dependency breaks the dependency 
>> on lib1.  The project builds, but we get runtime classdef errors for 
>> classes in lib1.  It seemed logical I could overcome this by explicitly 
>> adding an androidTestCompile dependency for lib1, and this does compile and 
>> run; however this is broken because production and test code get different 
>> values for resource ID's. For example, R.raw.thing resolves to a different 
>> value in production code than in test code.  I assume this has to do with 
>> resource merging and maybe we're getting the wrong build of lib1 somehow.  
>> So, I tried using this syntax which I found in the android doc:
>>
>>    androidTestCompile project(path: ':lib1', configuration: 'debug')
>>
>> But, of course you probably know that this gives the error that the 
>> configuration is not found. I found the configuration values running 
>> gradlew properties on the lib1 project and tried _debugTestCompile, 
>> debugTestCompile and :lib1:_debugTestCompile; all were also not recognized. 
>> I tried grepping thru the build directory for hints but I merely got older 
>> with no new wisdom.
>>
>> I'm new to gradle and Android dev so I could be just using things wrong, 
>> but I'm pretty sure this is a bug, or two.
>>
>> BTW, my driving need is for a subproject that is only included in 
>> androidTest builds - this for code and to solve the problem of test-only 
>> assets or resources. Yes, I found the technique in 
>> https://code.google.com/p/android/issues/detail?id=64887 but it 
>> basically copies assets to the production build which gives us an 
>> unreliable build environment that has to be man-handled a bit to know what 
>> you are actually shipping. This was very undesirable and it didn't work 
>> reliably anyway.
>>
>> If you share a workaround, please be complete in your explanation of how 
>> to use your suggestion - which I would love to hear.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "adt-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Xavier Ducrohet
> Android SDK Tech Lead
> Google Inc.
> http://developer.android.com | http://tools.android.com
>
> Please do not send me questions directly. Thanks!
>  

-- 
You received this message because you are subscribed to the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to