demo下载地址:https://download.csdn.net/download/flying_vip_521/10548920
里边用的是自己用nexus搭建的仓库
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
第一步:local.properties添加以下配置
nexus.user=admin nexus.password=admin123 POM_URL=http://localhost:8081/nexus/content/repositories/thirdparty/ POM_GROUP_ID=com.demo.library POM_ATRIFACT_ID=testlib POM_VERSION=1.0.5
第二步: 自定义maven.gradle【我定义到主工程目录内了】
apply plugin:'maven-publish' apply plugin:'maven' // 上传到私服 Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) uploadArchives { repositories { mavenDeployer { repository(url: properties.getProperty("POM_URL")) { authentication(userName: properties.getProperty("nexus.user"), password: properties.getProperty("nexus.password")) } pom.groupId = properties.getProperty("POM_GROUP_ID") pom.artifactId = properties.getProperty("POM_ATRIFACT_ID") pom.version = properties.getProperty("POM_VERSION") pom.project { licenses { license { name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } } } } }
第三步: build.gradle 引入maven.gradle[需要发布的lib模块]
apply from: '../maven.gradle'
第四步:上传,以下2种方法都ok,个人喜欢界面操作
gradlew uploadArchives
其它:
混淆:
release {
minifyEnabled false //混淆开关
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
proguard配置文件,需要把必要的公开类和方法配置对,否则公开的类无法被打到aar包,第三方无法调用,最好检查aar中的class是否正常
-keep class com.flying.mylibrary.TestLib2 {
public void test1();
}
-keep class com.flying.mylibrary.TestMyLib {
public void test();
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------
使用方法:
第一步:添加仓库地址
第二步:引用库
compile 'com.demo.library:testlib:1.0.5'