项目迁移打包aar

原创
2017/04/24 10:49
阅读数 35

 最近项目需要打包嵌入到别的app中来调用, 我们一直用的是eclipse,很古老...

    想了想,做成库?不可以,还是公布给源码给人家了;

    做成jar?不可以,确切的说是可以, 只不过各种资源文件打不进去, 百度了下还得各种配置,修改,反正看着好繁琐,算了,还是放弃吧...

    听说aar不错,java代码,资源文件都可以,又问了下度娘,还不错,成了....下面就是我记录下自己打的aar过程,毕竟之前很少用studio,不是很熟悉,studio我用的是2.2.3的

    至于项目迁移,我直接用studio导的eclipse的项目,肯定有各种问题,.9图,gradel等..出一个解决一个,反正迁成功了,重点是打成aar

    1. 打开需要打成aar的项目,进到build.gradel中, ,这样修改,application表示的是打包成apk,library表示的打成aar;

    2. 然后强applicationId注掉,

    3. 这时候直接点开右侧gradle,选择需要打成aar的项目进行build,其实和打apk步骤一样了,

    4. 这时候在项目的build下就已经生成了aar文件,请忽略显示,我这截图的不准确,应该为app-release.aar,这时候将这个aar文件copy出去到需要嵌入的项目的libs下,复制的时候ta会提示你是否修改name,然后我就改了...

     5. 然后在需要嵌aar的项目的build.gradle下添加如下

   在依赖下添加如下,这里的name要和libs下的aar文件名字保持一致

   最后build一次,就可以了....

   这时候当你跑起来已经嵌入了aar文件的项目,发现手机上两个这项目的图标....

点开一个是你aar文件的入口...另一个是你嵌入aar文件的项目的入口, 这时候再来看你打成aar文件的那个项目的manifest,将LAUNCHER注掉,再 重新打成aar,就可以了,上面的步骤再走一遍....

 

    还有一点...因为主项目嵌入aar文件,这个时候 可能aar文件中有自定义的application类,但是主项目中也有自己的自定义application类,这时候合并的时候就会有灵异bug,所以需要做的就是

        主项目自定义的application类继承aar文件中的自定义的application的类

    还有在两个项目合并的时候,可能会报有manifest merger failed... 这时候在主项目的manifest的根结点下添加

xmlns:tools="http://schemas.android.com/tools"

在application的节点下添加

 tools:replace="android:icon, android:theme,android:name"

这样就可以了,如果还有报错, 就看log,有时候把android:name 这个去掉,重新build,就OK了

亲身测验,完全可以....不喜勿喷

    

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部