美文网首页安卓
安卓模块化开发

安卓模块化开发

作者: 田涛347 | 来源:发表于2020-06-10 15:34 被阅读0次

先决条件

1.android开发工具,我用的是android studio
2.maven私服,私服的搭建参照网上,这里会用到对应的maven地址和相关的账号。(上传需要账号,私服对应上传仓库需要开启访客可访问)

模块化架构图

模块化架构图

1.业务模块依赖底层工具模块和UI基础模块

2.各业务模块独立开发,开发好稳定版本上传至maven私服中供项目使用

3.pp应用引用各个模块aar包,使用模块中功能。

注:模块开发时,各个模块的资源(layout,color,dimen,string,drawable,mipma等资源)应带上模块前缀,避免不同模块间出现相同资源名称,导致不可预知错误。

工程结构

工程结构

1.项目由app壳工程,业务module模块,底层lib模块

2.壳工程写demo入口测试调试module模块代码,根据具体模块情况,编写相关入口页面。

3.module模块写业务代码。

4.底层lib模块主要引用底层依赖包中使用的依赖,固定不用修改。

module模块添加打包信息

apply plugin: 'maven'

def isReleaseBuild() {
    return VERSION_NAME.contains("SNAPSHOT") == false
}

def getRepositoryUsername() {
    return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : ""
}

def getRepositoryPassword() {
    return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : ""
}

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: RELEASE_REPOSITORY_URL) {
                authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
            }
            pom.project {
                groupId = GROUP
                artifactId = POM_ARTIFACT_MODULE_ID
                version = VERSION_NAME
                packaging = POM_PACKAGING
            }
            snapshotRepository(url: SNAPSHOT_REPOSITORY_URL) {
                authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
            }
        }
    }
}

gradle.properties中维护版本和maven私服信息

GROUP=groupname
VERSION_NAME=versionname
POM_ARTIFACT_MODULE_ID=modulename
POM_PACKAGING="aar"
#前面配置的snapshots仓库地址
SNAPSHOT_REPOSITORY_URL=http://ip:port/repository/maven-snapshots/
#前面配置的releases仓库地址http:
RELEASE_REPOSITORY_URL=http://ip:port/repository/maven-releases/
NEXUS_USERNAME=username
NEXUS_PASSWORD=password

上传aar包

上传aar包

点击左侧gradle工具栏,在弹出的窗口中选中我们要打包的module,选择Tasks->upload->uploadArchives,双击uploadArchives进行上传。

引用上传后aar包

在工程的build.gradle文件中添加私服信息

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.aliyun.com/repository/jcenter'}
        maven { url 'https://jitpack.io' }
        maven { url 'http://ip:port/repository/maven-snapshots/' }
        maven { url 'http://ip:port/repository/maven-snapshots/' }
    }
}

在需要的地方引用aar包

api 'groupname:modulename:versionname@aar'

相关文章

  • 安卓模块化开发

    先决条件 1.android开发工具,我用的是android studio2.maven私服,私服的搭建参照网上,...

  • 安卓自定义View-画圆

    效果图 代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开发工...

  • 安卓动画样例-圆环变多变少

    效果图 代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开发工...

  • 安卓开发零基础入门系列

    本文由安卓开发007出品 ## 1.1 安卓发展历程## 1.2 安卓开发前景展望## 1.3 安卓开发入门之安装...

  • 安卓模块化开发浅谈

    模块化开发适合于大型项目中多人协同开发,每个人独立开发某个模块,单独测试,单独维护,最终以library或者aar...

  • Android Gson使用详解

    Android Gson使用详解(出处: 安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户)

  • 安卓动画样例-放大缩小

    效果图 实现代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开...

  • 安卓学习笔记

    安卓开发

  • 1.androidmiao

    1.android studio是开发安卓系统很好的工具; 2.开发安卓最好用linux系统或者mac,因为安卓是...

  • 安卓开发 开发前你需要了解的一些资料(一)

    前言   在安卓开发 初步了解安卓和配置安卓环境中,我们简单的介绍了安卓和配置安卓环境。我们使用了Android ...

网友评论

    本文标题:安卓模块化开发

    本文链接:https://www.haomeiwen.com/subject/hdcptktx.html