AndroidStudio下结合本地maven仓库多版本配置
来源:互联网 发布:java orm框架 阿里 编辑:程序博客网 时间:2024/06/06 16:38
对AndroidStudio熟悉些的童鞋都知道通过配置gradle可以实现多渠道打包的功能,由于目前项目是内部sdk,所以使用到了maven局域网私服,通过局域网私服,可以很方便的为团队中其他开发者提供AAR包,方便团队开发。今天利用gradle进行了下相关的配置,通过gradle配置,可以直接发布到maven仓库,这里记录下相关操作。
1.首先需要搭建好本地局域网的maven私服,可以通过maven和nexus OSS搭建环境,接下来创建两个不同的发布环境,这里我分为测试用的test和正式发布的release环境。
2.在工程目录下gradle.build文件中声明maven插件的使用(注意这里不是工程的根目录下的gradle.build),如下:
apply plugin: 'com.android.library'apply plugin: 'maven'由于我的项目是个库,所以这里声明的是com.android.library,如果是正常的android应用的话应该是com.android.application
3.在项目根目录下面的local.properties文件中声明maven上传时的用户名,密码及发布的版本类型,如下:
sdk.name=adminsdk.pwd=admin123#修改完编译模式以后需要在gradle.properties文件中更新对应模式下的版本号TEST=true这里的TEST说明是否为测试模式
4.在工程目录下配置不同版本的相关信息,如下:
testUrl=本地测试仓库的地址,通过登录nexus oss获得releaseUrl=正式版仓库地址,获取方式同上testVersion=测试版本版本号releaseVersion=正式版本版本号5.gradle.build文件中的代码:
Properties properties = new Properties()properties.load(project.rootProject.file('local.properties').newDataInputStream())def buildType = properties.getProperty("TEST")def uploadUrldef proVersionif ("true".equalsIgnoreCase(buildType)) { uploadUrl = project.testUrl proVersion =project.testVersion} else { uploadUrl = project.releaseUrl proVersion=project.releaseVersion}defaultConfig { minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" buildConfigField "boolean", "TEST", buildType }task sourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.srcDirs}task javadoc(type: Javadoc) { source = android.sourceSets.main.java.srcDirs exclude "xxx" classpath += project.files(android.getBootClasspath().join(File.pathSeparator))}task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir}javadoc { options { encoding "UTF-8" charSet "UTF-8" author true version true links "xxx(网址)" title "xxx(标题)" }}artifacts { archives javadocJar archives sourcesJar}uploadArchives { String sdkname = properties.getProperty("sdk.name") String sdkpwd = properties.getProperty("sdk.pwd") repositories.mavenDeployer { repository(url: uploadUrl) //局域网仓库地址 {//仓库地址 authentication(userName: sdkname,//用户名 password: sdkpwd)//密码 } pom.project { name 'xxx' packaging 'aar' description 'xxx' url uploadUrl //局域网仓库地址 groupId "xxx" artifactId 'xxx' version proVersion } }}这里说明下defaultConfig这段代码应该是在Android{...}里面的,代码中标注xxx的都是根据项目进行配置的,通过这样配置以后,如果需要上传测试模式下最新的包供团队的开发人员使用的话直接将local.properties文件中的TEST声明为true,然后运行uploadArchives即可,如果要发布正式环境的aar包时,只需要将TEST声明为false,运行uploadArchives,团队中的其他成员更新下依赖就可以了,当然如果需要测试环境和正式环境同时发布,也可以自己写一个task,这里就不做说明了。
0 0
- AndroidStudio下结合本地maven仓库多版本配置
- androidstudio maven仓库配置
- AndroidStudio 使用本地Maven仓库
- MAC下maven本地仓库配置
- Maven本地仓库配置
- Maven本地仓库配置
- Maven本地仓库配置
- Maven配置本地仓库
- maven本地仓库配置
- maven本地仓库配置
- maven本地仓库配置
- maven配置本地仓库
- Maven中本地仓库,中央镜像,JDK版本配置
- Maven本地仓库和JDK默认版本配置
- Windows 下Maven安装配置(本地仓库配置)
- nexus maven 本地仓库配置
- Maven的本地仓库配置
- maven 本地仓库的配置
- sizeof与strlen的主意事项
- Nginx日志配置远程Syslog采集
- Unity_二维纹理 Texture 2D_3_按平台覆盖
- 深度学习FPGA实现基础知识0(FPGA击败GPU和GPP,成为深度学习的未来?)
- android数据库的添加和查询
- AndroidStudio下结合本地maven仓库多版本配置
- EPC-6708 qt 窗口串口开发环境搭建
- linux基础(33)--正则表达式--RHEL6.5
- Tomcat日志配置远程Syslog采集
- Windows系统日志配置远程Syslog采集
- @NotEmpty、@NotBlank、@NotNull
- IlleagalStateException: Can not perform this action after onSaveInstanceState
- php-扒数据
- 苹果强制适配IPv6-only网络 该怎么做iOS应用兼容适配IPv6 Mac创建 IPV6测试环境