最近因为项目需求开始整理一个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语句

    作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充! 1.执行插入语句,获取自动生成的递增的ID值 INSERT INTO ...

  2. jquery 实现滚动条下拉时无限加载的简单实例

    var lastId=0;//记录每一次加载时的最后一条记录id,跟您的排序方式有关.     var isloading = false;   $(window).bind("scroll ...

  3. 浅谈MVC Form认证

    简单的谈一下MVC的Form认证. 在做MVC项目时,用户登录认证需要选用Form认证时,我们该怎么做呢?下面我们来简单给大家说一下. 首先说一下步骤 1.用户登录时,如果校验用户名密码通过后,需要调 ...

  4. python 文件操作(pickle)

    >>> with open('text.txt','wb') as data:pickle.dump(['a','b',2],data) 保存到文件 >>> wit ...

  5. JS添加类似C# string.Format方法

    String.prototype.format=function()   {     if(arguments.length==0) return this;     for(var s=this, ...

  6. Blockly编程:用Scratch制作游戏愤怒的小牛(小鸟)

    愤怒的小鸟曾经很热门,网上还说他是程序员最喜欢玩的游戏.最先我是WIKIOI的评测页面看到他的,后来在2014年全国信息学奥林匹克联赛第一天第三题飞扬的小鸟也看到了它.因此,突然想做一个类似愤怒的小鸟 ...

  7. 委托(C#)

    委托,delegate 关键字用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法.委托类似于 C++ 中的函数指针:但是,委托是类型安全和可靠的.委托类型声明的格式如下: public de ...

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

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

  9. Generic(泛型)

    什么是泛型:"通过参数化类型来实现在同一份代码上操作多种数据类型.利用"参数化类型"将类型抽象化,从而实现灵活的复用". 简单来说泛型就是为了使一些代码能够重复 ...

  10. Java多线程(一) —— 线程的状态详解

    一.多线程概述  1. 进程 是一个正在执行的程序.是程序在计算机上的一次运行活动. 每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 系统以进程为基本单位进行系统资源的调度 ...