最近因为项目需求开始整理一个SDK 以AAR的方式提供出去。在整理的过程中遇到了很多坑。

以下是一些总结希望能帮助遇到同样问题的人。

1.怎么导出AAR,这种文章太多了,我贴一个大家可以做参考。

http://blog.csdn.net/g777520/article/details/53331797

如果不关心 怎么生成jar包就直接往下滑,看第二节。基本操作就在这儿了。

2. 第一步的操作导出的AAR只是当前lib的代码内容,当前lib所依赖的其他lib或者依赖(jar包除外)都不会被打进AAR中。

类似 compile 'tv.danmaku.ijk.media:ijkplayer-java:0.7.9’ 
跟 compile project(':XXLib’)的依赖, 都不会打进去。这跟需求不匹配啊。需要解决。
查阅了很多资料如下:
http://blog.csdn.net/wwj_748/article/details/53230706
是相对详细的,但也只是简单介绍。
从文章中定位到了一个第三方的库是专门解决这种问题的。
使用的过程中遇到了一些问题,这些问题主要是
新老Android studio版本上文件的改动导致的。参考该工程的issue基本都是可以解决的。
说下重点你可能会遇到的一个错误的解决办法吧。

* Where:
Script '/Users/gy/temp/baiduIJK/LiveRoomLib/fat-aar.gradle' line: 220

* What went wrong:
Execution failed for task ':LiveRoomLib:generateRJava'.
> /LiveRoomLib/build/intermediates/exploded-aar/baiduIJK/XXXLib/unspecified/AndroidManifest.xml (No such file or directory)

这个错误是在导AAR的lib 下exploded-aar这个目录里没有其所以来的 lib的内容,较快的解决办法就是去XXXLib的

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #00f900; background-color: rgba(33, 33, 33, 0.65) }
span.s1 { }

XXXLib/build/outputs/aar

目录下将XXXLib的 arr coppy 到/LiveRoomLib/build/intermediates/exploded-aar/这个目录下进行解压,然后按照这个路径去存放你的工程。

亲测有效。

3.在翻阅资料的过程中又发现了

https://github.com/Vigi0303/fat-aar-plugin

这个lib说是解决了大部分的问题可以快速的导出需要的AAR,没有尝试,你们可以试下。

 
 
 
 
 

Android studio导出AAR包问题整理。的更多相关文章

  1. Android Studio导出Jar包

    这篇博客将介绍一下如何用Android Studio导出jar包,希望能给大家带来帮助. 首先需要修改build.gradle文件,在Android Studio中会显示多个build.gradle文 ...

  2. android studio生成aar包

    android studio生成aar包并在其他工程引用aar包 http://blog.csdn.net/getchance/article/details/47257389 用Android st ...

  3. android studio 生成aar包并在其他工程引用 (导入)aar包

    1.aar包是Android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 ...

  4. Android Studio 导出jar包

    不像在Eclipse,可以直接导出jar包.AndroidStudio只可以生成aar包. 在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了. 用jar命 ...

  5. Android Studio导出Jar包并混淆

    在Android Studio中,自带反编译查看class文件,如果没有混淆的话,class文件跟java文件基本没有区别了,为了保护,还是混淆的好. 网上看了不少资料,都是直接下载proguard额 ...

  6. android studio生成aar包并在其他工程引用aar包

    1.aar包是android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 ...

  7. Android Studio 创建aar包与引用

    两者区别:*.jar: 只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件.*.aar: 包含所有资源 ,class以及res资源文件全部包含 一.创建aar包1.创建一个 ...

  8. Android Studio添加aar包依赖

    1.将aar包考入需要依赖的模块的libs目录下 2.在需要依赖的模块的build.gradle中添加如下内容: dependencies { compile(name:'aar包名不带扩展名', e ...

  9. Android Studio 生成aar包,并非debug包,而是release包

    1.编写Module,作为library 下面是需要发布的aar包,上面的是随意的project 2.app依赖myLibrary 2.1 设置Project Structure 2.2 app依赖M ...

随机推荐

  1. SQL Server各个版本的区别

    SQLEXPR_x64_CHS.exe,标准SQL Server Express edition,只有数据库引擎,甚至连图形管理界面都没有.SQLEXPRWT_x64_CHS.exe,多了一个图形管理 ...

  2. 虚拟桌面 VDI

    什么是VDI(Virtual Desktop Infrastructure): 通过对于本企业的服务器进行整合,使用VMware进行虚拟机部署,利用服务器资源,实现由一个物理机实现多个虚拟机,解决资源 ...

  3. python模块之argparse--参数解析

    一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于 解析命令行参数,例如python parseTe ...

  4. HTML行内元素、块状元素、行内块状元素的区别

    HTML可以将元素分类方式分为行内元素.块状元素和行内块状元素三种.首先需要说明的是,这三者是可以互相转换的,使用display属性能够将三者任意转换: (1)display:inline;转换为行内 ...

  5. 利用python将mysql中的数据导入excel

    Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 如下分别利用xlwt和openpyxl将mysql数据库中查询的数据保存到exce ...

  6. 数据的ID名生成新的引用索引树

    <?php $arr= [ '0'=>[ "id"=>2, "name"=>"建材", "pid" ...

  7. Spring Boot 构建 WAR和JAR 文件

    原文:https://github.com/x113773/testall/issues/3 ## JAR文件方式一:1. 修改[pom.xml](https://github.com/x113773 ...

  8. 普通RAID磁盘数据格式规范

    普通RAID磁盘数据格式规范 1.介绍 在当今的IT环境中,系统管理员希望改变他们正在使用的内部RAID方案,原因可能有以下几个:许多服务器都是附带RAID解决方案的,这些RAID解决方案是通过母板磁 ...

  9. 关于引入多个jquery冲突的问题(附一个很好用的validate前端验证框架及使用方法)

    废话不多说,进入正题: 如果一个jsp中想要使用两个不同版本的jquery怎么办呢?客官往下看: <script src="${ctxStatic}/jquery/jquery-1.8 ...

  10. Exception in thread "main" java.lang.NoClassDefFoundError: javax/transaction/Synchronization

    解决办法:原因是缺少jta.jar包,添加jta.jar包就好