| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android如何生成本地或者远程aar -> 正文阅读 |
|
[移动开发]Android如何生成本地或者远程aar |
在一些特殊的场合,比如源码的保密,sdk的提供和使用,都会把一定的功能逻辑抽取成一个aar,提供至需要的人,在Android的开发中,这种方式司空见惯,只闻使用方式,不知内部实现,加深了源码的保护措施,又使得功能可以正常开发,相对于一些公司有着外包人员的协同开发,一些主要的功能,不想泄露,那么就可以采取这种方式。 aar的方式,每次更新后,只需要动态的改变版本号,就可以实现新增的功能和逻辑,和主线的功能保持分离而又牵扯联系,这种方式的使用,集成简单,在乎的是结果,而非实现的过程,最重要的是对于源码的一个保护机制;Android中的aar主要是针对于Android Library而言的,可以简单的理解为是对Android Library的打包,这个包的格式既为.aar,是一个二进制归档文件,包含所有资源,class以及res资源文件。 本地aar生成以及使用 第一步:创建一个Library(因为aar的生成是以Library的形式打包),并创建.gralde文件,存储路径自己定义,文件名字也自己定义,如下图: ?第二步,在已创建的.gradle文件里书写对应生成aar的代码,需要注意,每次更新代码,版本号需要对应的升级,打出aar的路径也需要自己来定义,这里我生成到了E盘下:
第三步,在Library里的build.gradle,进行引入: 以上三步完成之后,点击Android studio右侧的Gradle,找到对应的Library下的Tasks下的upload,双击uploadArchives 就会在第二步中自己定义的路径下打出自己的aar。 ? 生成的aar文件: ? 复制生成的aar,就可以发送给别人进行依赖使用了,这样别人就可以调用你Library下所提供的业务逻辑了,具体使用,复制aar到libs下,然后需要使用的module下加上如下图的引入即可:? 以上的本地aar就生成了,需要注意的是,对于Android studio的版本的升级,可能遇到右侧的uploadArchives没有显示的问题,大家可以按照以下方式,解决一下:? 比如我们本地生成了aar,不想每次更改代码后,就要替换aar,我们就可以采取以下的方式,进行本地引入,以后,只需要改版本号即可: 第一步,在根目录的build.gradle文件下进行依赖我们本地的路径,也就是上边我们生成aar文件的地方。 ?第二步,在需要的module里进行引入,这样以后aar有更改,我们只需更改版本号即可: ? 远程aar生成以及使用 以上,我们只能自己本地使用,或者把aar复制给别人使用,一旦更改频率很高,每次的更换是很麻烦了,能不能让他人使用的时候,如果更改了,也只需更改版本号就可以了呢,答案必须可以,大家可以选择任何一个代码托管平台进行实现,这里我用gitee也就是码云来作为例子演示,说到这里,为了保证源码的绝对安全,其实一般在公司都有自己的私服,上传至私服即可。 通过本地的方式,我们已经在本地生成了对应的aar文件,改为远程,无非就是把对应的aar文件上传至对应的仓库地址即可。 1、无仓库地址: 需要在giee上创建自己的仓库,得到仓库地址: ?进入本地的maven目录也就是aar目录,依次执行下边git命令,需要注意,关联自己的远程地址:
?相关命令注释:
2、已有仓库地址,需要注意,关联自己的远程地址:
把本地生成的aar推到远程之后,如下图: 点开之后 ? 具体调用就和本地的其他项目调用类似了,如下图 第一步,在根目录的build.gradle文件下进行依赖我们上传的仓库路径,以raw/master结尾: 第二步,在需要的module里进行引入,这样以后aar有更改,我们只需更改版本号即可: ? 以上就是简单的本地和远程aar的生成和使用,前边说过,公司一般内部有自己的私服,正常都是上传到自己的私服中,当然如果是自己开源,或者公司没有要求,那么我们上传到哪都是可行的。? ? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 21:24:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |