In particular, I'm running into this error when I depend on Library A, that 
depends on Library B, which depends on Library C (all aars).
When Library C is packaged as a jar, I don't run into this issue.

This is what the dependency tree looks like:
+--- com.segment.analytics.android:analytics:3.0.1-SNAPSHOT@aar
|    +--- ...
|    +--- 
com.segment.analytics.android:analytics-integration-mixpanel:3.0.1-SNAPSHOT@aar
|    |    \--- com.mixpanel.android:mixpanel-android:4.5.3@aar
|    +--- 
com.segment.analytics.android:analytics-integration-google-analytics:3.0.1-SNAPSHOT@aar
|    |    \--- com.google.android.gms:play-services-base:6.5.87@aar

I originally thought that this issue occurred when Library B didn't declare 
it's packaging as an AAR in it's pom, but you'll see in the examples below 
that isn't the case.

In one such case, here is the Pom for Library A 
(https://oss.sonatype.org/content/repositories/snapshots/com/segment/analytics/android/analytics/3.0.1-SNAPSHOT/analytics-3.0.1-20150303.075625-17.pom),
 
and for Library B 
(https://oss.sonatype.org/content/repositories/snapshots/com/segment/analytics/android/analytics-integration-mixpanel/3.0.1-SNAPSHOT/analytics-integration-mixpanel-3.0.1-20150303.075744-18.pom)
 
and Library C 
(https://repo1.maven.org/maven2/com/mixpanel/android/mixpanel-android/4.5.3/mixpanel-android-4.5.3.pom).

In another case, here is the pom for Library A 
(https://oss.sonatype.org/content/repositories/snapshots/com/segment/analytics/android/analytics/3.0.1-SNAPSHOT/analytics-3.0.1-20150303.075625-17.pom),
 
Library B 
(https://oss.sonatype.org/content/repositories/snapshots/com/segment/analytics/android/analytics-integration-google-analytics/3.0.1-SNAPSHOT/analytics-integration-google-analytics-3.0.1-20150303.075721-16.pom),
 
and Library C is Google Play Services.

On Thursday, September 4, 2014 at 8:59:41 AM UTC-6, Jonathan Almeida wrote:
>
> Hi Xavier,
>
> Do you have any update on this? We're facing this exact problem right now 
> and it's a show stopper for us.
>
> To give a bit more detail on our situation:
>
>    1. We have a java library on maven that's built with a 'core' module 
>    dependency. This shows up fine in the pom file when publishing to 
>    maven/mavenLocal.
>    2. When we add the java library as a dependency to our android 
>    library, the pom file generated doesn't contain the dependeny 'java 
>    library'.  <- Problem 1
>       1. This was fixed with a little hack from this SO answer: 
>       http://stackoverflow.com/a/24764713/936067
>    3. Now, when we add our android library to an android app as a 
>    dependency, it spits out the above error.
>    
>
> Things that I've tried that should be noted:
>
>    - Removing the pom file hack, lets me build the android app with my 
>    library as a dependency, but since the library's dependency isn't pulled 
>    down, it crashes.
>    - Removing Google dependencies, appcompat, support and play-services, 
>    and only adding in the 'core'. Let's me build and run, but now I have very 
>    limited functionality in my library.
>    - Removing the pom file hack, and adding the library dependencies in 
>    the android app itself, lets the app use my library's functionality as 
>    expected, however, this is tedious for users to do and breaks the java 
>    dependency management idiom.
>
> *Any help *is much appreciated to get past this bug. Thank you!
>
> You can find my related question on SO as well: 
> http://stackoverflow.com/questions/25585537/importing-my-android-library-in-an-app-isnt-recognized-as-a-library
>
> On Thursday, December 5, 2013 8:13:30 PM UTC-5, Xavier Ducrohet wrote:
>>
>> This is strange, and should not happen AFAIK.
>>
>> I'll do some tests.
>>
>>
>> On Wed, Dec 4, 2013 at 8:26 AM, Mark Murphy <[email protected]> 
>> wrote:
>>
>>> I am running into the same problem as is outlined in this question,
>>> though not with Sonatype Nexus:
>>>
>>>
>>> http://stackoverflow.com/questions/20061652/android-gradle-library-dependency-with-library-dependency-using-nexus
>>>
>>> Scenario: I have App A, depending upon Library B, which in turn depends
>>> upon Library C.
>>>
>>> Library C is in a Maven repo. Library B is in the same repo, with a POM
>>> that contains the dependency upon Library C.
>>>
>>> App A has Library B in its dependencies. However, running gradle clean
>>> assembleDebug results in:
>>>
>>> "Module version [Library B] depends on libraries but is not a library
>>> itself"
>>>
>>> The error does not make a lot of sense to me, particularly since if I
>>> install both Library B and Library C to mavenLocal(), and switch my
>>> build.gradle to use mavenLocal(), it works. IOW, this is only a problem
>>> with a remote repository.
>>>
>>> Is there a known limitation in having an AAR depend upon another AAR in
>>> a remote Maven artifact repository?
>>>
>>> Thanks!
>>>
>>> --
>>> Mark Murphy (a Commons Guy)
>>> http://commonsware.com | http://github.com/commonsguy
>>> http://commonsware.com/blog | http://twitter.com/commonsguy
>>>
>>> _The Busy Coder's Guide to Android Development_: 2,500+ Pages, Updated
>>> Frequently!
>>>
>>> --
>>> 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/groups/opt_out.
>>>
>>
>>
>>
>> -- 
>> 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