常常在github上看到一些好用的框架,但是对于一个新手怎样在android studio上导入去总会遇到各种麻烦,索性来研究下第三方类库怎样在android studio上导入。
以我在github上看到的一个简单的具有水面波动效果的TextViewUI控件为例,github地址:https://github.com/RomainPiel/Tianic。首先使用Git工具将其clone下来或下载其zip文件并解压。
在android studio中新建项目GithubSample,android studio 中导入模块和第三方类库从File->New->ImportModule导入。
先来看看下下来的Tianic里都有什么
里面有自带的样例和library库,当然我们要的是library库,对于想了解怎样使用的也能够和sample一同导入,这一点能够在Tianic文件夹下的settings.gradle里更改。
该settings.gradle文件中的内容例如以下:
若不想导入sample,去掉后面就可以。这里我们导入自带的样例。非常多时候直接导入下下来的第三方类库可能会遇到各种问题。以Tianic为例,直接导入就出现了以下的问题:
说什么runProguard()方法找不到。上网一查才知道新版本号的gradle已不支持runProguard()方法对应的使用minifyEnabled取代,所以应该把sample和library下build.gradle里的runProguard换成minifyEnabled。
改后再次Sync
发现还是出现了错误
那是由于我的SDK没有19.0.1版的Build Tool,要么下载该版本号的BuildTool 要么在sample和library下build.gradle里面改成你的应用使用的版本号号。改前:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
不知道自己应用使用的版本能够在你应用下的build.gradle里查看
将sample和library下build.gradle里的相应的地方改成上图所看到的即可了,再Sync
发现还是会有错误,像这样什么什么资源找不到的错误就要看编译的依赖文件了。查看sample和library下的build.gradle文件
再查看你应用下的build.gradle文件
发现版本号不一样,改成你应用中使用的版本号后再Sync发现没有错误后就能够在你的应用中使用该框架了。先点Project Structure
再在你应用的依赖下(Dependencies)加入库依赖,在Module dependency下选择须要使用的类库。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这样就可使用了,在主layout中加入
主Activity例如以下:
执行效果:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
前面讲的是一步一步哪里出了错再改哪里。最好的办法是在未导入Android studio前将须要导入的类库的对应文件进行修改,再来简单回想下,在类库所在文件夹下的settings.gradle中选择是否导入样例demo,将类库文件夹下build.gradle文件里箭头所指地方版本号改成自己项目所用版本号。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
将类库文件夹下gradle/wrapper/gradle-wrapper.properties里箭头所指版本号号改成自己项目所用版本号。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
将所需库文件夹下(不包括sample的类库文件夹)下的build.gradle文件里对应的版本进行修改(导入sample的话sample下的build.gradle也作对应的修改),这样导入之前修改好导入的时候就会快一点错误也会少一点。其他的依据提示进行操作。