aar 转 jar - 导入eclipse使用 (友盟转阿里百川趟出来的坑)

一、定义

由于友盟用户反馈的SDK不在维护,现在已转交阿里百川,苦逼的我又开始更新旧项目的SDK(eclipse版本)。由于eclispse 不识别aar,所以我的趟坑之旅开始。。。

在aar 转成jar的流程用遇上了一些问题。请看下面。。

二,aar转jar

1.将aar解压缩,一般会有这些文件:(上图)

很清晰的一个目录结构:(下面代码转移要重新建立一个library工程)

1) 、aapt即AndroidAsset Packaging Tool,这个存放工具的文件夹,一般为空,不是我们要的东西,直接不看。

2)aidl assets jni libs res 这些文件,里面如果有文件,将其拷贝到对应目录下

3)AndroidManifest.xml 要把里面的权限,还有activity service 还有广播之类的,全部移到你主工程的AndroidManifest.xml (这里是自己的主工程)



2.为什么要重新建立一个library工程呢?因为不作为一个library的话,如果你的aar解压出来的文件目录res 有文件的话,运行后你会得到一个异常:(下面是我的异常)


ClassNotFoundException 于是我百思不得姐。。找不到class文件。。什么鬼? 

原来在生成aar包的时候,资源文件都是被生成绝对的访问路径。这个路径就是 packageName(包名).R$XX

于是我查询了一下我的library 的包名,并不是上面的com.alibaba.sdk.android.feedback;所以我把改了一下,于是异常消除。


3.由此可见,aar其实就是一个library 的库,在转成jar包时,如果有res文件,还是得老老实实的转成library工程,确实有点蛋疼。因此还在用eclipse 的兄弟们,及早转成as吧!不然后面问题会越来越多!!


附录:


阿里百川反馈sdk 转成 eclipse的library库

记得:

在application加入:FeedbackAPI.init(this, ALIBAICHUAN_FEEDBACK_APPKEY);

在androidManifest.xml 加入:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,142评论 25 708
  • 谁会想到一次无意的捐精让一个在英国嫁入豪门的她在踏上中国之旅的路上,另寻一段情缘,漂洋过海,有缘的终究会相见。在人...
    Katrina11阅读 240评论 0 0
  • [TOC] StringBuffer类 StringBuffer类概述及其构造方法 StringBuffer类概述...
    lutianfei阅读 490评论 0 1
  • 12年顶着世界末日的风险来到了莫斯科,也做好了客死他乡的准备,那一年19岁…… 今天去商场里挑戒指,中指和食指都挺...
    6baa70254d7a阅读 298评论 0 0