मैं android-library
प्रोजेक्ट की जार पैकेजिंग कैसे जारी कर सकता हूं?
मुझे पता चला है, class.jar build/bundles/release/classes.jar
के तहत स्थित है और मुझे लगता है कि यह सही जार पैकेज है (इसमें *.class
फ़ाइलें हैं)।एंड्रॉइड लाइब्रेरी ग्रैडल रिलीज JAR
क्या कुछ आधिकारिक तरीका है, पुस्तकालय को एएआर के बजाय जार के रूप में रिलीज़ करने के लिए?
संपादित
मैं Gradle Maven कलाकृतियों जारी करने के लिए उपयोग करते हैं, और मैं आर पैकेज के साथ जार जारी करने के लिए करना चाहते हैं। तो हस्ताक्षर, md5, प्रकट साथ जार, ...
https://chris.banes.me/2013/08/27/pushing-aars-to-maven-central/
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
}
}
task androidJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
}
का उपयोग कर केवल जावा फ़ाइलें पैकेज होगा पर आधारित है, संकलित नहीं और Android SDK
मुझे डर है, यह सही जवाब है :-) धन्यवाद, मैं इसे अंतिम संपादन पोस्ट करूंगा जिसे मैंने इसे काम करने के लिए बनाया है –
मैं यह भी पुष्टि कर सकता हूं कि यह काम करता है। ध्यान दें कि जेनरेट किया गया कार्य ** 'gradle functions' ** चलाते समय दिखाई नहीं देता है, केवल ** 'gradle functions --all' ** के साथ। एक बार फिर धन्यवाद! – CommonsWare
धन्यवाद यह मदद करता है, लेकिन यह अभी भी निर्भरताओं के लिए कक्षा फाइलें उत्पन्न नहीं करता है।मैं मूल रूप से एक एसडीके जार बनाने की कोशिश कर रहा हूं जो बाहर निकलने के लिए एक सिंगल जार होगा, लेकिन इस संकलन में मॉड्यूल प्रोजेक्ट्स शामिल नहीं हैं जो निर्भर है और निर्भरता अनुभाग आदि से जार नहीं खींचता .. क्या आपके पास कोई है इसे पूरा करने के लिए सुझाव जहां यह पुस्तकालय परियोजनाओं को जार में भी संकलित करता है, इसलिए मुझे प्रत्येक लाइब्रेरी प्रोजेक्ट के लिए 4 जारों को सौंपना नहीं है। तो यह पता लगाना अच्छा होगा कि मैसन निर्भरता जार को भी जीसन या ओटो जैसे कैसे शामिल किया जाए। – Sam