博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 二次打包(封装)AAR实用指南
阅读量:6417 次
发布时间:2019-06-23

本文共 1052 字,大约阅读时间需要 3 分钟。

前言

上次文章说到如何在aar里集成导入的aar,也就是二次封装aar的问题,一带而过,难免不过瘾。在封装这条路上也遇到了不少坑,现在将此方法详细记录下来。

说到二次打包aar这个需求应该算小众了,谷歌一圈下来也找不到答案,Android Studio到目前也还不支持这个操作,一开始遇到这个问题的时候可以说非常蛋疼了...

原理

aar作为一个“特殊后缀”的压缩包,在导入项目中编译的时候无非就是合并,而Android Studio项目有个module的说法,他们两者都可以看做是project的library,既然Android Studio不能自动处理这个合并,那我们何不尝试一下手动解决?

Android Library形式导入AAR解压包

  1. 解压AAR文件:

     
    aar解压图.png

    可以看到,aar里包括了各种各样的资源文件(解压包大致一样,略有差异),但是有的是空文件夹,现在res,jni这些文件夹我们就熟悉了吧!如果你的aar解压出来仅有so库与jar包,那就不用往下看了,直接提取出来复制到项目对应目录下编译即可!

  2. 新建一个Module

     
    Android Library.png

    一路next下去,包名任选(反正也是要抛弃的...)

  3. 复制classes.jar包到新建的module(示例library名为:mylibrary)的libs目录下,如图

     
    复制classes.jar文件到libs目录下.png
  4. 展开mylibrary下的src文件夹,首先删掉文件夹内的所有东西,接着将aar解压文件夹中的assets、res、AndroidManifest.xml等文件(夹)复制进去,复制jni文件夹下的相关文件到新建的jniLibs文件夹。总之,套路就是按正常的项目结构对应来放置资源。当然,以上几个复制步骤是aar中包含该资源的情况下才需要。

     
    src_main.png
  5. 在app—build.gradle文件下将该module compile进去

     
    引入module project.png

    至此,aar导入完毕,可以直接使用原arr中的方法,加入自己的业务逻辑再次打包成aar的需求也就迎刃而解了

总结

以module形式手动导入aar的方式,曲线解决了目前Android Studio不支持在aar基础上二次封装成aar这个需求。总结起来就是大胆假设小心求证,了解一些项目合并/打包的原理是很有帮助的,在这探索过程中也得到了好友的指点,在这感谢。最后希望这篇文章分享出来能有所帮助吧!

转载地址:http://gypra.baihongyu.com/

你可能感兴趣的文章
直播疑难杂症排查(8)— 播放杂音、噪音、回声问题
查看>>
安装乌班图系统,并且演示有趣的linux命令,你还怕对linux无兴趣吗
查看>>
处理器高端之路停滞,联发科欲进军诺基亚领地
查看>>
IBM存储部门换了新老板:还是6年前那个
查看>>
IBM公司公布三层单元PCM-MLC,向3DX堆栈方案发起挑战
查看>>
《2040大预言:高科技引擎与社会新秩序》—— 导读
查看>>
数据库操作:添加、插入、更新语句
查看>>
降低数据中心能源消耗
查看>>
IT众包不养技术人员该怎么玩?
查看>>
自主编写部署性能测试的备
查看>>
10余智慧项目建设初见成效 南岸用智慧城市开启智慧生活
查看>>
1个月千余人参加!阿里云大学互联网技能“轻”认证受热捧
查看>>
互金网络安全良好率才一半 信息泄露成主要风险
查看>>
wap前端测试改进总结
查看>>
大数据对企业的种种影响
查看>>
Windows8正式谢幕
查看>>
《Adobe Illustrator CC 2014中文版经典教程(彩色版)》—第1课0.4节创建形状
查看>>
《大咖讲Wireshark网络分析》—从一道面试题开始说起
查看>>
《算法基础:打开算法之门》一3.6 小结
查看>>
《构建高可用Linux服务器 第3版》—— 1.1 使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS 5.8 x86_64...
查看>>