将jar要么aar公布到到网mvn 在(使用github作为仓库), 通过gradle dependency 信息集成
使用Android Studio用户开发,都希望通过maven该方式整合远程仓库jar、aar文件。但如何将这些文件发布它?
发人员都会将jar文件公布到sonatype上,以提供给其它开发人员集成,可是sonatype要求必须提供源代码,而有些情况下,公布者并不想提供源代码,这样能够使用本文介绍的方法。
以下就为大家解说怎样在github上创建仓库。将jar和aar文件公布到maven中,以及怎样集成。
第一步:
在github.com 上创建一个repo,专门用作maven仓库使用。 比如https://github.com/ione/mvn-repo-ione
第二步:
使用git clone 命令将文件clone到本地。
第三步:
1、公布aar文件
在project文件夹的build.gradle
文件里加入:
apply plugin: 'maven' android{ // ... } // ext is a gradle closure allowing the declaration of global properties ext { PUBLISH_GROUP_ID = 'com.ione' PUBLISH_ARTIFACT_ID = 'demo' PUBLISH_VERSION = android.defaultConfig.versionName } uploadArchives { repositories.mavenDeployer { def deployPath = file(getProperty('aar.deployPath')) repository(url: "file://${deployPath.absolutePath}") pom.project { groupId project.PUBLISH_GROUP_ID artifactId project.PUBLISH_ARTIFACT_ID version project.PUBLISH_VERSION } } }
当中aar.deployPath
可在gradle.properties
文件里指定:
aar.deployPath=E:\\dev\\workspace\\mvn-repo-ione\\repository
路径为第二步clone repo选择的文件夹。
公布aar文件前。仅仅须要在project文件夹下运行命令:gradlew uploadArchives就可以生成上传至以github作为maven仓库的所需文件。
然后把在第二步clonerepo选择的文件夹中更新的文件push到github上。就可以完毕公布。
2、公布jar文件
通过下面命令将本地的jar包安装到此文件夹下:
mvn install:install-file -DgroupId=com.ione -DartifactId=demo -Dversion=1.0 -Dfile=E:\dev\libs\com.ione.demo.jar -Dpackaging=jar -DgeneratePom=true -DlocalRepositoryPath=E:\dev\workspace\ione\mvn-repo-ione\repository -DcreateChecksum=true注意包名和路径
执行上述命令后在本地文件夹下就有了须要的maven文件, 比如:
mvn-repo-demogit:(master) tree . ├── LICENSE ├── README.md └── repository └── com └── ione └── demo ├── 1.0 │ ├── demo-1.0.jar │ ├── demo-1.0.jar.md5 │ ├── demo-1.0.jar.sha1 │ ├── demo-1.0.pom │ ├── deno-1.0.pom.md5 │ └── demo-1.0.pom.sha1 ├── maven-metadata-local.xml ├── maven-metadata-local.xml.md5 └── maven-metadata-local.xml.sha1 5 directories, 11 files
然后通过git push 将生成的maven 文件push 到github 上去,就可以完毕公布。
第四步:
在Android Studio中集成jar文件或者aar文件
在project的build.grade 文件里加入:
repositories { jcenter() maven { url "https://raw.githubusercontent.com/ione/mvn-repo-ione/master/repository" } }
dependencies { compile 'com.ione:demo:1.0' }
就可以完毕集成。