Я только что добавил к моему проекту несколько flavors
(или productFlavors
, если хотите).
Дело в том, что при публикации библиотеки bintray все флейворы загружаются (что здорово), но я не могу их использовать. Используемый плагин является официальным здесь.
Загруженный aar:
androidsdk-0.0.4-fullRelease.aar
androidsdk-0.0.4-fullDebug.aar
androidsdk-0.0.4-lightRelease.aar
androidsdk-0.0.4-lightDebug.aar
Как вы отметили, fullRelease
называется classifier
, см. глава 23.4.1.3.
Я ищу решение для выбора того, какие варианты я хочу загрузить.
Я уже рассмотрел примеры bintray (здесь и здесь) и , а также другие примеры, но я все еще застрял.
Вот мой текущий script:
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
buildscript {
repositories {
jcenter()
}
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 9
targetSdkVersion 23
versionCode 64
versionName "0.0.4"
}
publishNonDefault true
productFlavors {
full {
}
light {
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
fullCompile 'com.squareup.picasso:picasso:2.5.0'
}
version = android.defaultConfig.versionName
uploadArchives {
repositories.mavenDeployer {
pom.project {
packaging 'aar'
}
}
}
////////////////////////////////
// Bintray Upload configuration
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = "MyRepo" // repo name
userOrg = 'hugo'
name = "AndroidSDK" // Package name
websiteUrl = siteUrl
vcsUrl = gitUrl
publish = true
}
}
Чтобы импортировать библиотеку, я в настоящее время использую это:
compile ('com.example.lib:sdk:0.0.8:[email protected]') {
transitive = true;
}