填坑:eclipse使用android studio提供的aar形式的lib所遇到的坑

来源:互联网 发布:大主宰知轩藏书 编辑:程序博客网 时间:2024/05/04 14:15

第三方提供一个sdk给我,里面包含了一个demo程序,sdk中提供的第三方依赖有jar包和aar形式的,另外还有一些是直接在gradle中声明的。

无奈使用eclipse开发,得把人家studio工程用到的依赖,移植到自己的eclipse工程中。所以就有了如下的填坑。


aar形式的lib在eclipse中不能直接使用,需要把该后缀改为rar后缀,如:sdk-release.aar 改名为 sdk-release.rar。

然后加压该rar文件,得到一个文件夹,里面包含的内容有:


然后我们在eclipse中新建一个空的android工程,如sdk-release ,工程的包名一定是AndroidManifest.xml文件中的包名。然后把该文件夹下面的文件夹拷贝到这个sdk-release工程中。特别的需要把classes.jar这个jar包放入到新工程sdk-release的libs文件夹内(坑1)。完成后,该工程sdk-release作为library工程被主工程引用。


另外,如果该解压后的文件夹中有so文件,一般会在assets中,那么需要把该文件夹拷贝到主工程相应的目录下,切记:是主工程目录!否则,这个so文件是无法加载进来的。(坑2)


一般的,在android studio工程下的libs中jar后缀的第三方lib都可以直接拷贝到我们的主工程目录下,另外的如上面的aar文件,则需要一个一个的改后缀,解压,创建相应的eclipse android工程,拷贝相应的文件。有多少个aar就需要新建多少个android lib工程。

可是我们android studio不仅有本地libs目录下的jar包,还有很大部分是通过gradle声明的第三方依赖。要导入这些依赖,就需要下载相应的jar包,且下载的jar包版本要跟gradle引入的版本一致(否则可能会有各种奇葩的问题,坑3)。一般可以从android studio的工程目录中看到引入的依赖和相应的版本号:


知道对应的版本,我们就可以去网上搜索下载了。

我发现maven这个真是好,可以搜索下载到很多jar包:

http://mvnrepository.com/

目前用到的jar就是从这里下载的,可能还有其他的,以后再补充。


获取完相关的jar包和library工程后,就可以在我的主工程中一一引入了。这中间其实折腾了快一天了。不是导入的jar版本有问题,就是没找so文件。试错了好多次,终于成功的引用了第三方sdk,工程能跑起来了。


不得不吐槽下,如果人家的sdk修改了某些依赖,那又是一次费时费力的导入~奔溃。乞求小组赶紧移植到studio吧!

下一篇记录一我移植eclipse工程到studio的坑吧。

0 0
原创粉丝点击