您的位置:首页 > 移动开发 > Android开发

android studio 导入第三方lib的方法

2015-04-21 15:44 169 查看
        android studio正式版发布也有一段时间了,网上各种介绍也很多我就不多描述了。现在越来越多的朋友都开始了解studio并且开始用studio开发项目。本人用了studio有一段时间了,就导jar包和libary那一块当时纠结了好久,现在总结一下倒入jar包和lib的方法,希望能对刚开始使用studio人的有所帮助。

        首先先贴一张studio的项目截图给大家看下结构:

                             

        

       上图就是一般studio的项目结构。关于项目名(studylist)、model名(app)、以及代码区域就不多说了,网上介绍很多也很详细(也不是我要说的重点)。我重点要说的是两个libary以及lib文件夹下的jar包的导入。

       1,.jar包的导入

       jar包导入方法实际和eclipse差不多都是复制jar包到对应libs文件夹下,点击as libary。如下图:

                            


         点击成功后进入该model的bulid文件里可以看到已经倒入的jar包

                          


              当dependencise里面出现该jar包的lib引用包含时,说明jar包导入成功可以直接使用了。另外还有一种偷懒的方式,就是自己手动更改build的配置文件为:

           


          这样你可以偷懒,不用点击as libary。只需将jar包复制到lib文件夹下,系统构建时能自动识别jar包。

          2.导入libary

          从第一张图中能看到有两个libary,一个和app同级,一个和studyList同级。这两种有什么区别,为什么要分别对待呢。让我们分别看一下两种lib的结构:

          




          仔细比较你会发现studylist和slidingmenu_libary两个工程的目录结构不一样。而且用过eclipse的细心点会发现slidingmenu_libary的结构实际就是eclipse的工程结构。没错这种情况就是你用eclipse写的libary要导入studio里面作为libary的情况。在eclipse里你只需要在同一workspace里面设置属性为is
libary就可以了,而要使用到studio中的话你先要将eclipse工程作为gradle导出(具体导出方法百度上很多)。然后将该工程复制到与app同级目录下,此外还需手动打开app的build文件自己配置:

            


           以及studyList项目的setting文件

                    


            这样eclipse中的libary就可以在studio中使用了。

            另外还可以看到一个swipelistView的libary,他的目录好像是和studyList是同一级的。实际上是因为swipelistView也和studylist一样,是一个正常的studio项目。现在gitHub上一些开源项目都是studio结构的,在导入的时候就会有一些区别(不知道这种studio项目可不可以和上面一样导入,我没尝试过,因为我是先遇到的这种情况,如需要可以自行尝试)。首先是要将swipelistView复制到和studylist同一目录下,如图:

            


            然后再将app中的build文件里面增加上相应的引用:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':..:swipelistview:swipelistview')
compile project(':slidingmenu_library')
}
            在studyList的setting文件里面添加上对应条目:

include ':app'
include '..:swipelistview:swipelistview'
include ':slidingmenu_library'            这样libary就可以使用了。需要注意的是':slidingmenu_library'这个不是固定的,是该工程的工程名;'..:swipelistview:swipelistview'也不是固定的,是该libary的工程名和model名称(如果studyList这个工程要被作为libary被其他工程引用的话,那配置的名称应该为:"..:studylist:app").
            

            此外,由于两个创建时候的环境不一样,可能会有版本上的冲突,例如gradle的版本,sdk的版本等等,若有冲突的话则需要更改引入libary项目的model的配置文件,例如:seipelistvie里面的build.gradle:



          

            注意。。。作为libary导入的话app plugin 必须是android-libary或者apply plugin: 'com.android.library',若不是的话需手动修改,compilesdkVersion版本和buildtoolsVersion版本必须是你电脑已有的版本,从别处考来的代码可能需要更改。minsdkversion和targetsdkversion版本根据需要修改。另外jdk版本也要一致,gradle版本冲突的话也要改一致。这些我之前都遇到过的错误,还有一些其他的错误,之前也没有截图,具体情况还需要不同的修改,我就不详细列举了。

           好了,导包方式就这些了,希望能帮助大家。个人感觉studio还挺好用的,祝大家使用愉快
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息