Adding dependencies to my project when my AAR already contains them <p>Why does gradle force me to add dependencies to my main module when my AAR library already uses those dependencies?</p> <p>Example:</p> <p><strong>My AAR library gradle:</strong></p> <pre><code>apply plugin: 'com.android.library' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile('com.android.support:design:22.2.1') compile('com.android.support:appcompat-v7:22.2.1') compile('com.android.support:cardview-v7:22.2.1') compile('com.android.support:recyclerview-v7:22.2.1') compile('de.greenrobot:eventbus:2.4.0') } </code></pre> <p><strong>My app gradle:</strong></p> <pre><code>apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.firetrap.blaap" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { flatDir { dirs 'libs' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile ('my_package_name:channels.base@aar') } </code></pre> <p>Why can't I use, for example, <code>com.android.support:cardview-v7:22.2.1</code> from my AAR?</p>