如何发布Android-Library
项目的Jar包?
我发现,classes.Jar位于build/bundles/release/classes.Jar
下,我认为这是正确的Jar包(包含*.class
文件)。
是否有某种官方方法,将库释放为JAR而不是AAR?
编辑
我使用Gradle来发布Maven工件,我想发布JAR和AAR包。So基于https://chris.banes.me/2013/08/27/push-aars-to-maven-central/的带有签名、md5、manifest的JAR
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
}
将只打包java文件,不编译和链接到android sdk
虽然我还没有尝试将工件与Sonatype的部署(甚至是本地repo)一起上传,但以下是几周前我试图解决相同问题时想出的方法。
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);
}
然后运行以下命令:
./gradlew jarRelease
从1.14.0开始支持预发布、灰度发布,可登陆SOP-Admin,然后选择服务列表进行操作。 使用预发布 SOP中预发布的思路如下: 假设网关工程sop-gateway在阿里云负载均衡有两台服务器,域名分别为: 域名 说明 open1.domain.com 网关服务器1 openpre.domain.com 网关服务器2,作为预发布请求入口 SLB对外域名为:open.domain.com,即开放
现在我们已经按照指南里的步骤写好一个声明文件,是时候把它发布到npm了。 有两种主要方式用来发布声明文件到npm: 与你的npm包捆绑在一起,或 发布到npm上的@types organization。 如果你能控制要使用你发布的声明文件的那个npm包的话,推荐第一种方式。 这样的话,你的声明文件与JavaScript总是在一起传递。 如果你的包有一个主.js文件,你还是需要在package.js
本章应该与 rel(4) , systools(3) 和 script(4) 。 发布的概念 当我们已经写了一个或多个应用后,我们可能想创建一个由这些应用和Erlang/OTP应用的一个子集组成的完整系统。 要实现这个目的,我们通过创建一个定义在发布中要包含哪些应用的 发布资源文件 。 该发布资源文件是用于生成 启动脚本 和 发布包 。传送并安装在另外一个站点的系统称之为 目标系统 。如果使用发布
使用xsltproc将它发布为 Html xsltproc /usr/share/xml/docbook/xsl-stylesheets-1.73.2/html/html.xsl docbook.xml xsl-stylesheets目录,里面包含可以发布的格式。该路径可能会因系统的不同而改变 发布为 Html 格式所需要的 xsl 文件 发布为单独的 html 页面。如果需要分页,使用chu
现在你拥有了足够的Vimscript技能来打造能帮助许多人的Vim插件。 这一章涉及如何把你的插件发布在网上,以便人们获取,还有如何向潜在用户派小广告。 托管 你需要做的第一件事是把你的插件放在网上,让其他人可以下载它。 最普遍的选择是放到Vim官网的script版面。 你需要这个网站的一个免费账户。一旦你有了,你可以点击"Add Script"链接并填写表单。 到那里你就会明白了。 在过去的几年
本文针对于发布标准化做一个详解。 主要内容包含: 创建应用 配置发布环境 发布 RDC部署的原理说明: 项目的编译构建工作是在RDC的机器上面完成的, 根据.release文件中的build.output的配置将指定的路径下面的文件 打包成.tgz格式的文件, 然后发送到环境中的"部属配置"中的"下载路径"配置的路径下面. 再根据配置的"Stop" 和 "Start" 脚本去重启服务.
由于本示例的WebService类使用了一个Java类(DataForm类),因此,在发布WebService之前,需要先将DataForm.class文件复制到<Tomcat安装目录>\webapps\axis2\WEB-INF\classes\data目录中,然后将ComplexTypeService.class文件复制到<Tomcat安装目录>\webapps\axis2\WEB-INF\p
问题内容: 我必须承认我有点困惑…我以前从未做过,而且我显然缺少一些东西 当我通过http.post将数据传递到我的php文件时,我似乎无法收集数据… 有人可以告诉我为什么这行不通吗? FormData会显示在控制台日志中,并且可以确定正在写入文件。但是,看起来好像没有数据传递。 这是在我的php文件中。试图将提交表单中的数据写入文件中(只是测试)。 问题答案: 经过大量研究后,我发现这有点像ph