2015-04-15 15 views
5

Sto tentando di pubblicare una libreria Android su jcenter. Ho seguito il tutorial https://github.com/danielemaddaluno/gradle-jcenter-publish. Tutto funziona bene fino a quando provo ad eseguirePubblica libreria Android su jcenter: gradle bintrayUpload non trova librerie

gradle bintrayUpload

Quando lo faccio in modo da ottenere una generazione non riuscita. Quando guardo negli errori che vedo

package com.android.volley does not exist

Pertanto le librerie che ho incluso come dipendenza Gradle non sono stati trovati

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

Le stesse happends con altre biblioteche inclusi.

Come posso risolvere questo problema?

allego il modulo 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. 
//   } 
     } 
    } 
} 

e il progetto 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

Inserisci build.gradle –

+0

file @GabrieleMariotti aggiunti – Mateu

+0

stesso problema qui, mi aggiornerò se trovo una soluzione. hai mai risolto questo? –

risposta

0

La biblioteca è in repository Maven, quindi è necessario dichiarare il repository centrale Maven. Aggiungilo nel progetto build.gradle file in questo modo:

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

Si prega di fare riferimento al seguente:

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

A questo punto, avete bisogno nel vostro locale. Partecipare alle file di proprietà,

Bintray. User = XXX 
Bintray apikey = XXX 
Problemi correlati