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'
此外,由于两个创建时候的环境不一样,可能会有版本上的冲突,例如gradle的版本,sdk的版本等等,若有冲突的话则需要更改引入libary项目的model的配置文件,例如:seipelistvie里面的build.gradle:
注意。。。作为libary导入的话app plugin 必须是android-libary或者apply plugin: 'com.android.library',若不是的话需手动修改,compilesdkVersion版本和buildtoolsVersion版本必须是你电脑已有的版本,从别处考来的代码可能需要更改。minsdkversion和targetsdkversion版本根据需要修改。另外jdk版本也要一致,gradle版本冲突的话也要改一致。这些我之前都遇到过的错误,还有一些其他的错误,之前也没有截图,具体情况还需要不同的修改,我就不详细列举了。
好了,导包方式就这些了,希望能帮助大家。个人感觉studio还挺好用的,祝大家使用愉快