2015-04-15 25 views
5

Tôi đang cố gắng xuất bản thư viện Android lên jcenter. Tôi đã theo dõi https://github.com/danielemaddaluno/gradle-jcenter-publish hướng dẫn. Tất cả mọi thứ hoạt động tốt cho đến khi tôi cố gắng thực hiệnXuất bản thư viện android thành jcenter: gradle bintrayUpload không tìm thấy thư viện

gradle bintrayUpload

Khi tôi làm như vậy tôi nhận được một BUILD FAILED. Khi tôi nhìn vào lỗi tôi thấy

package com.android.volley does not exist

Do đó các thư viện mà tôi đã bao gồm như là một sự phụ thuộc gradle không được tìm thấy

dependencies { 
    compile 'com.mcxiaoke.volley:library:1.+' (...) 
} 

Các happends cùng với các thư viện khác bao gồm.

Làm cách nào để khắc phục sự cố này?

tôi Đính kèm module build.gradle

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

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 22 
     versionCode 1 
     versionName "0.0.1" 
    } 

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

dependencies { 
    compile 'com.mcxiaoke.volley:library:1.+' 
    compile 'com.shamanland:fab:0.0.8' 
    compile 'com.google.code.gson:gson:2.2.4' 
    compile 'com.android.support:appcompat-v7:22.0.0' 
    compile 'com.android.support:gridlayout-v7:21.0.3' 
} 

def siteUrl = "SOME_URL" 
def gitUrl = 'SOME_URL' 
group = "GROUP_ID" 
install { 
    repositories.mavenInstaller { 
     // This generates POM.xml with proper parameters 
     pom { 
      project { 
       packaging 'aar' 

       // Add your description here 
       name 'NAME' 
       description = 'DESCRIPTION' 
       url siteUrl 

       // Set your license 
       licenses { 
        license { 
         name 'The Apache Software License, Version 2.0' 
         url 'http://www.apache.org/licenses/LICENSE-2.0.txt' 
        } 
       } 
       developers { 
        developer { 
         id 'MY_ID' 
         name 'MY_NAME' 
         email 'MY_EMAIL' 
        } 
       } 
       scm { 
        connection gitUrl 
        developerConnection gitUrl 
        url siteUrl 
       } 
      } 
     } 
    } 
} 



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 
} 

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

// https://github.com/bintray/gradle-bintray-plugin 
bintray { 
    user = properties.getProperty("bintray.user") 
    key = properties.getProperty("bintray.apikey") 

    configurations = ['archives'] 
    pkg { 
     repo = "maven" 
     // it is the name that appears in bintray when logged 
     name = "androidupdatechecker" 
     websiteUrl = siteUrl 
     vcsUrl = gitUrl 
     licenses = ["Apache-2.0"] 
     publish = true 
     version { 
      gpg { 
       sign = true //Determines whether to GPG sign the files. The default is false 
       passphrase = properties.getProperty("bintray.gpg.password") //Optional. The passphrase for GPG signing' 
      } 
//   mavenCentralSync { 
//    sync = true //Optional (true by default).  Determines whether to sync the version to Maven Central. 
//    user = properties.getProperty("bintray.oss.user")   //OSS user token 
//    password = properties.getProperty("bintray.oss.password") //OSS user password 
//    close = '1' //Optional property. By default the staging repository is closed and artifacts are released to Maven Central. You can optionally turn this behaviour off (by puting 0 as value) and release the version manually. 
//   } 
     } 
    } 
} 

và dự án build.gradle

// 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:1.1.2' 
     classpath 'com.github.dcendents:android-maven-plugin:1.2' 
     classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.1" 

    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 
+0

bài build.gradle bạn –

+0

file @GabrieleMariotti thêm – Mateu

+0

cùng một vấn đề ở đây, tôi sẽ cập nhật nếu tôi tìm thấy một giải pháp. bạn đã bao giờ giải quyết vấn đề này chưa? –

Trả lời

0

Thư viện là trong kho maven, vì vậy bạn cần phải khai báo các kho trung tâm maven. Thêm nó vào dự án của bạn build.gradle tập tin như thế này:

buildscript { 
    repositories { 
     mavenCentral() 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.1.2' 
     classpath 'com.github.dcendents:android-maven-plugin:1.2' 
     classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.1" 

    } 
} 
-1

Vui lòng tham khảo sau đây:

user = properties.getProperty("bintray.user") 
    key = properties.getProperty("bintray.apikey") 

Tại thời điểm này, bạn cần trong địa phương của bạn. Tham gia trong các tập tin thuộc tính,

Bintray. User = XXX 
Bintray apikey = XXX 
Các vấn đề liên quan