SORU
10 EKİM 2013, PERŞEMBE


Android Gradle Kitaplığı yayın KAVANOZ

Nasıl android-library proje Kavanoz ambalaj bırakabilir miyim?
, Classes.jar build/bundles/release/classes.jar altında yer alan buldum ve bu doğru sanırım Jar paketi (*.class dosyalarını içerir).

Bazı resmi şekilde AAR yerine KAVANOZ kitaplığı sürümü var mı ?

Edit
Maven eserler serbest bırakmak için Gradle kullanıyorum ve KAVANOZ ile birlikte AAR paketi serbest bırakmak istiyorum. İmza ile KAVANOZ, md5, apaçık
https://chris.banes.me/2013/08/27/pushing-aars-to-maven-central/ dayanarak

apply plugin: 'maven'
apply plugin: 'signing'

configurations {
    archives {
        extendsFrom configurations.default
    }
}

def sonatypeRepositoryUrl
if (isReleaseBuild()) {
    println 'RELEASE BUILD'
    sonatypeRepositoryUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
} else {
    println 'DEBUG BUILD'
    sonatypeRepositoryUrl = "https://oss.sonatype.org/content/repositories/snapshots/"
}

if(!hasProperty('nexusPassword')) {
    ext.set('nexusPassword', System.console().readPassword("\n\$ Type in password for Sonatype nexus account "   nexusUsername   ": "))
}

if(!signing.hasProperty('password')) {
    ext.set('signing.password', System.console().readPassword("\n\$ Type in GPG key password: "))
}

afterEvaluate { project ->
    uploadArchives {
        repositories {
            mavenDeployer {
                beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

                pom.artifactId = POM_ARTIFACT_ID

                repository(url: sonatypeRepositoryUrl) {
                    authentication(userName: nexusUsername, password: nexusPassword)
                }

                pom.project {
                    name POM_NAME
                    packaging POM_PACKAGING
                    description POM_DESCRIPTION
                    url POM_URL

                    scm {
                        url POM_SCM_URL
                        connection POM_SCM_CONNECTION
                        developerConnection POM_SCM_DEV_CONNECTION
                    }

                    licenses {
                        license {
                            name POM_LICENCE_NAME
                            url POM_LICENCE_URL
                            distribution POM_LICENCE_DIST
                        }
                    }

                    developers {
                        developer {
                            id "loopj"
                            name "James Smith"
                        }
                        developer {
                            id "smarek"
                            name "Marek Sebera"
                        }
                    }
                }
            }
        }
    }

    signing {
        required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
        sign configurations.archives
    }

    task androidJavadocs(type: Javadoc) {
        source = android.sourceSets.main.java.srcDirs
    }

    task androidJavadocsJar(type: Jar) {
        classifier = 'javadoc'
        from androidJavadocs.destinationDir
    }

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

    artifacts {
        archives androidSourcesJar
        archives androidJavadocsJar
    }
}

kullanarak

task androidJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
}

paket dosyaları java, derlenmiş ve android sdk karşı bağlı olur sadece

CEVAP
20 EKİM 2013, Pazar


Süre denemedim karşıya eserleri ile bir dağıtım için Sonatype (hatta bir yerel repo), burada ne başardım ama a few weeks ago çalışırken için mücadele aynı sorun.

android.libraryVariants.all { variant ->
  def name = variant.buildType.name
  if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) {
    return; // Skip debug builds.
  }
  def task = project.tasks.create "jar${name.capitalize()}", Jar
  task.dependsOn variant.javaCompile
  task.from variant.javaCompile.destinationDir
  artifacts.add('archives', task);
}

Daha sonra aşağıdaki çalıştırın:

./gradlew jarRelease

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Baby Big Mouth

    Baby Big Mou

    5 Mart 2013
  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007