最近因为项目需求开始整理一个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. guoshiyv 数据结构与算法2-1 线性链式存储

    线性链式存储:   包含两部分:1.存储的单个元素 2.指针,指向下一个的地址 typedef struct() { ElementType Data; struct Node *Next; }Lis ...

  2. SICP-1.5-控制结构

    测试 DOCSETS 在docstring中直接添加测试 def sum_naturals(n): """Return the sum of the first n na ...

  3. docker私有库搭建过程(Registry)

    实验环境: CentOS7 1611 Docker 1.12.6 registry   2.0 1.安装并运行registry 安装: [root@docker01 ~]# docker pull r ...

  4. 详解 RAC 中各种IP和监听的意义

    一.SCAN 概念 SCAN(Single Client Access Name)是 Oracle从11g R2开始推出的,客户端可以通过 SCAN 特性负载均衡地连接到 RAC数据库 SCAN 最明 ...

  5. SpringMVC转发和重定向区别!

    在servlet中,转发和重定向是由request和response完成的.两者之间的区别请看我之前的文章.那么在springMVC中是如何完成的呢? /**转发**/ @RequestMapping ...

  6. 验证表格多行某一input是否为空

    function checkTableKeyWordVal(tableId){ var result = true; $("#"+tableId+" tbody tr&q ...

  7. PDO数据库操作类

    <?php include 'common_config.php'; /** * Class Mysql * PDO数据库操作类 */ class Mysql { protected stati ...

  8. 【LeetCode】220. Contains Duplicate III

    题目: Given an array of integers, find out whether there are two distinct indices i and j in the array ...

  9. iOS9新特性之常见关键字、泛型

    #pragma mark -- nullable nullable:可以为空,只能修饰对象,不能修饰基本数据类型 // 方式一: @property (nonatomic, copy, nullabl ...

  10. Python3组合数据类型(元组、列表、集合、字典)语法

    一.序列类型(字符串,元组(),列表[]) 序列类型支持in,len(),分片[],迭代,5种内置序列类型:bytearray,bytes,list,str,tuple(元组). 1.元组可以嵌套(如 ...