Загрузка модуля android в bintray и связывание с jcenter

Привет, я слежу за сайтом github плагина Gradle Bintray https://github.com/bintray/gradle-bintray-plugin#readme, однако я не совсем понимаю, что такое публикации. Кто-нибудь может мне с этим помочь? В настоящее время я работаю над версией Bintray 1.7.3.

Обновление: мне удалось успешно загрузить в бинтрей. Однако сейчас моя проблема связана с загрузкой в ​​другие проекты. У меня есть ошибки при синхронизации gradle:
-Не удалось найти android-dbpatcher.jar (sirqo: android-dbpatcher: 0.0.1).
-Ошибка: поиск выполняется в следующих местах:
http://sirqo.bintray.com/Android-DBPatcher/sirqo/android-dbpatcher/0.0.1/android-dbpatcher-0.0.1.jar

Update2: для справки это мой gradle.build в моем модуле

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner     "android.support.test.runner.AndroidJUnitRunner"

    }
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-  core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
    compile 'com.android.support:appcompat-v7:25.0.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.volley:volley:1.0.0'
}

task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath +=         project.files(android.getBootClasspath().join(File.pathSeparator))
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives javadocJar
    archives sourcesJar
}

group = 'xxxx'
version = '0.0.1'

install {
    repositories.mavenInstaller {
        pom.project {
            name 'android-dbpatcher'
            description 'A library for updating SQLite database in android.'
            url 'https://sirqo.bintray.com/Android-DBPatcher'
            inceptionYear '2016'

            packaging 'aar'
            groupId 'xxxx'
            artifactId 'android-dbpatcher'
            version '0.0.1'

            licenses {
                license {
                    name "The Apache Software License, Version 2.0"
                    url "http://www.apache.org/licenses/LICENSE-2.0.txt"
                    distribution "repo"
                }
            }

            developers {
                developer {
                    id  'xxxx'
                    name 'xxxxx'
                    email '[email protected]'
                }
            }
        }
    }
}

Properties bintrayProperties = new Properties()
    bintrayProperties.load(project.rootProject.file('bintray.properties').newDa    taInputStream())

bintray {
    user = bintrayProperties.getProperty('user')
    key = bintrayProperties.get('key')
    configurations = ['archives']
    pkg {
        repo = 'Android-DBPatcher'
        name = 'android-dbpatcher'
        userOrg = 'xxxx'
        vcsUrl = 'https://github.com/sirqo/android-dbpatcher'
        publish = true
        version {
            name = '0.0.1'
            desc = 'Android SQLite Database Patcher'
            released = new Date()
            vcsTag = 'v0.0.1'
        }
    }
}

person Christian Callelero    schedule 19.12.2016    source источник
comment
theguardian.com/technology/developer-blog/2016/dec/06/   -  person Basi    schedule 19.12.2016
comment
спасибо @Basi я попробую это.   -  person Christian Callelero    schedule 19.12.2016
comment
его от crushingcode.co/publish-your-android-library-via-jcenter   -  person Christian Callelero    schedule 19.12.2016
comment
он содержит предопределенный код, просмотрите его, вы поймете   -  person Basi    schedule 19.12.2016
comment
@basi Некоторое время назад мне удалось загрузить его в bintray. Однако я получил ошибку Не удалось устранить: sirqo: android-dbpatcher: 0.0.1   -  person Christian Callelero    schedule 19.12.2016
comment
вы связали lib с jcenter?   -  person Basi    schedule 19.12.2016
comment
@Basi еще нет. Но я добавил свой репозиторий на уровне проекта gradle.build   -  person Christian Callelero    schedule 19.12.2016
comment
@Basi, я забыл, что не вижу ссылки на кнопку JCenter внутри моего пакета   -  person Christian Callelero    schedule 20.12.2016


Ответы (1)


Вот и разобрался. Для справки поделюсь своим кодом.

Для моего проекта gradle.build

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

plugins {
    id "com.jfrog.bintray" version "1.7.3"
}

allprojects {
    repositories {
        jcenter()
    }

}

task clean(type: Delete) {
    delete rootProject.buildDir
}

А для моего модуля gradle.build

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.0.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.volley:volley:1.0.0'
}

task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath +=project.files(android.getBootClasspath().join(File.pathSeparator))
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives javadocJar
    archives sourcesJar
}

group = 'xxxx' //bintray org/group name
version = '0.0.1' //version

install {
    repositories.mavenInstaller {
        pom.project {
            name 'xxxxx' //package name
            description 'A library for updating SQLite database in android.'
            url 'xxxxx'
            inceptionYear '2016'

            packaging 'aar'
            groupId 'xxxx' //group/org id
            artifactId 'xxxx' //your android module name
            version '0.0.1'

            licenses {
                license {
                    name "The Apache Software License, Version 2.0"
                    url "http://www.apache.org/licenses/LICENSE-2.0.txt"
                    distribution "repo"
                }
            }

            developers {
                developer {
                    id  'xxxxx' //developer username
                    name 'xxxxxx' //developer name
                    email '[email protected]' //developer email
                }
            }
            scm {
                connection 'xxxxxx' // YOUR GIT REPO
                developerConnection 'xxxxxx' // YOUR GIT REPO
                url 'xxxxxxx' // YOUR SITE

            }
        }
    }
}

Properties bintrayProperties = new Properties()
bintrayProperties.load(project.rootProject.file('bintray.properties').newDataInputStream())

bintray {
    user = bintrayProperties.getProperty('user')
    key = bintrayProperties.get('key')
    configurations = ['archives']
    pkg {
        repo = 'xxxxxx' //Bintray repository
        name = 'xxxxxx' //Bintray Package name
        userOrg = 'xxxxx'
        licenses = ['Apache-2.0']
        vcsUrl = 'xxxxxxxx'
        publish = true
        version {
            name = '0.0.1' //version
            desc = 'xxxxxx' //Description
            released = new Date()
            vcsTag = 'v0.0.1'
        }
    }
}

После этого откройте терминал Android ниже в своей студии Android и введите эту команду

./gradlew установить

  • если есть какие-то ошибки, вы можете добавить команду с помощью --debug и повторно ввести команду, чтобы отследить ошибку

// если ничего больше не помогло, выполните эту команду ./gradlew bintrayUpload * еще раз, если есть ошибка, вы можете использовать команду и добавить --debug, чтобы отследить ее.

после всего этого вы получите электронное письмо или что-то в этом роде, а затем сможете приступить к загрузке своей библиотеки в других проектах. Удачного кодирования!

person Christian Callelero    schedule 20.12.2016