Reputation: 10068
On my project gradle, i have declared two flavors:
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.mypackage"
minSdkVersion 14
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
flavorDimensions "myFlavor"
productFlavors {
firts{
dimension "myFlavor"
applicationId "com.mypackage.first"
}
second{
dimension "myFlavor"
applicationId "com.mypackage.second"
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:design:27.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
}
Now i need to include and use an external jar library only to second flavor. How can i do?
Upvotes: 2
Views: 615
Reputation: 24907
Its as Simple as replacing implementation
with <flavor-name>Implementation <library>
Lets say you want to include com.android.support:design:27.1.1
only for second
flavor. You can achieve it as follows:
dependencies {
...
secondImplementation 'com.android.support:design:27.1.1'
...
}
Upvotes: 2