发布本地库流程如下:

一、新建一个Android项目

在项目下创建一个Libary(如果直接在Android项目下发布到本地仓库会生成apk包,而lib下生成的是aar包可以作为依赖使用)。

二、配置参数

在Library也就是刚才创建的AndroidLib下的中添加配置 maven-release-aar.gradle

maven-release-aar.gradle 就是用来设置打包的脚本,在文件中添加如下代码

apply plugin: 'maven'

uploadArchives {
    repositories.mavenDeployer {
        repository(url: uri('/tmp/maven-release'))

        pom.project {
            groupId 'com'
            artifactId 'math3d'
            version '1.0.5'
        }
    }
}

//以下代码会生成 jar 包源文件,如果是不开源码,请不要输入这段
//aar 包内包含注释
task androidSourcesJar(type: Jar) {
    from android.sourceSets.main.java.sourceFiles
}

artifacts {
    archives androidSourcesJar
}

也可以通过maven-publish方式发布

apply plugin: 'maven-publish'

uploadArchives {
    repositories.mavenDeployer {
        repository(url: uri('/tmp/maven-release'))
        pom.project {
            groupId 'com'
            artifactId 'math3d'
            version '1.0.5'
        }
    }
}

task androidSourcesJar(type: Jar) {
    from android.sourceSets.main.java.sourceFiles
}

artifacts {
    archives androidSourcesJar
}

然后在 Library 的 build.gradle 中增加如下行

apply from: 'maven-release-aar.gradle

三、发布到本地仓库

maven方式命令

gradlew  uploadArchives

aven-publish方式

gradlew  publishToMavenLocal

AS Gradle

在 Android studio 右侧有个 gradle 侧边栏, 双击 uploadArchives也可以上传到仓库

之后就可以在本地的gradle 中指定的路径下可以看到发布的内容了

四、使用本地库

在Android项目下的build.gradle文件中配置路径, 添加如下图配置

代码中就可以正常添加引用了:

在Android Studio中所有项目都共用同一个本地缓存库,路径是:C:\Users\用户名.gradle\caches\modules-2\files-2.1。
然后通过:包名\模块名\版本号\哈希值\jar或aar文件

例如要找如下依赖的jar或aar:

compile (‘com.google.http-client:google-http-client-jackson:1.15.0-rc’)

完整路径是:C:\Users\用户名.gradle\caches\modules-2\files-2.1\com.google.http-client\google-http-client-jackson\1.15.0-rc\哈希值\jar或aar文件

五. 配置 Maven Web环境

安装 Maven 之前要求先确定JDK 已经安装配置完成。Maven是 Apache 下的一个项目,目前新版本是 3.0.4。

1.首先去官网下载 Maven:http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.4-bin.tar.gz

2.配置 maven 环境变量:

系统变量:MAVEN_HOME = D:\Development\apache-maven-3.0.4

系统变量:path = %MAVEN_HOME%\bin

mac 系统可以配置在用户目录的.bash_profile 文件中

export M2_HOME=~/Documents/software/apache-maven-3.8.1
export PATH=$M2_HOME/bin:$PATH

配置好之后, source ~/.bash_profile 使环境变量生效。

相信大家都有配过环境变量的,详细步骤就不说了,对着把属性名和属性值配上的OK了。

打开 cmd或者 Terminal(MacOS),在里面敲:mvn -version

mvn 是 maven 的一个指令,mvn -version 是查看版本信息,我的操作系统是 32位的 WIN7,安装的 maven 是 3.8.1

如果能打印如上信息,说明到此 Maven3 已经在你的电脑上安装完成。

修改 maven 本地仓库存放位置

找到 apache-maven-3.0.4下的 conf 下的 settings.xml 配置文件,我的是在 D:\Development\apache-maven-3.0.4\conf\settings.xml

maven 使用案例

1.创建简单的maven 的web项目
mvn archetype:create
举例:mvn archetype:create -DgroupId=com.demo.app -DartifactId=demo-app -DarchetypeArtifactId=maven-archetype-webapp

2.生成和清除Eclipse项目结构:
mvn eclipse:eclipse 将maven项目变成eclipse,其实是在项目中生成 .project 和 .classpath 两个文件
mvn eclipse:clean 清理(删除target目录下编译内容)
mvn clean 打包发布

附录

1.gradlew常用命令

./gradlew clean  clean项目
./gradlew build  构建项目
./gradlew assembleDebug or /gradlew aD 编译并打Debug包
./gradlew assembleRelease or /gradlew aR 编译并打Release的包
./gradlew installRelease or /gradlew iR Release模式打包并安装
./gradlew installDebug or /gradlew iD Debug模式打包并安装
./gradlew uninstallRelease or ./gradlew uR 卸载Release模式包
./gradlew uninstallDebug or ./gradlew uD 卸载Debug模式包
./gradlew tasks --all  //查看所有任务
./gradlew dependencies ////依赖信息查看
./gradlew clean build --refresh-dependencies //强制更新最新依赖,清除并构建
./gradlew makeJar //生成 jar
需要说明的是这些命令可以叠加使用,例如:
./gradlew clean build --info > bugtags.log

2.maven常用命令:

mvn clean       清空产生的项目( target里)
mvn compile     编译源代码
mvn install     在本地repository中安装jar(包含mvn compile,mvn package,然后上传到本地仓库)
mvn deploy      上传到私服(包含mvn install,然后,上传到私服)
mvn package     打包
mvn test        运行测试
mvn site        产生site
mvn test-compile   编译测试代码
mvn -Dtest package  只打包不测试
mvn  jar:jar    只打jar包
mvn  test -skipping compile -skipping test-compile  只测试而不编译,也不测试编译
mvn  deploy   
mvn  source.jar   源码打包