常常在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也作对应的修改),这样导入之前修改好导入的时候就会快一点错误也会少一点。其他的依据提示进行操作。

Android studio中导入第三方类库的更多相关文章

  1. 如何向android studio中导入第三方类库

    下面分两种情况介绍一下如何导入第三方类库. 1.对于jar的类库,直接复制进libs目录,然后把jar复制进去,然后File->Project Structure,然后选中主module的名称, ...

  2. Android Studio中导入第三方库

    之前开发Android都是使用的eclipse,近期因为和外国朋友Timothy一起开发一款应用,他是从WP平台刚切换使用Android的,使用的开发环境时Android Studio,为了便于项目的 ...

  3. Android如何使用so文件和Android studio中导入so

    Android中使用so文件: 做一个PDF阅读的功能,找到一个开源的库,mupdf.下载的是网上编译好的so库,导入到自己项目中的时候一直报错Java.lang.UnsatisfiedLinkErr ...

  4. 在android studio中导入github下载的工程

    1.从Github中下载工程压缩包,并将其解压到本地 2.修改文件 假设,解压后的文件目录如下: (1)修改配置文件  xx\build.gradle // Top-level build file ...

  5. Android Studio中导入v4,v7和recyclerview-v7包的方法

    概述 Android Studio中新建工程中会默认导入v7的包,即在gradle中默认配置了com.android.support:appcompat-v7:x.x.x的依赖.但是不会默认为我们配置 ...

  6. Support Library官方教程(3)android studio中导入支援包

    Support Library Setup How you setup the Android Support Libraries in your development project depend ...

  7. Android Studio中导入Android项目StepbyStep

    想把在eclipse的项目导入Android studio,有两种方法,但是我喜欢的是不改变项目文件结构的方法,因为这样可以兼容eclipse. 第一步: 导入的项目不能运行,需要配置运行环境.And ...

  8. 如何在Android Studio中导入JNI生成的.so库

    由于在原来的ADT的Eclipse环境中,用ndk_build工具生成了相应的各个.so库文件之后,eclipse工具就会自动把这些库导入到apk中.而Android Studio目前为止(0.86版 ...

  9. Android开发中导入第三方库所遇问题记录

    1.重复循环依赖的问题 (1)需求 如下图所示: 在Android 项目中,采用模块化开发,一个是主跑application--Mudule A,另外一个是library--Library B 1)M ...

随机推荐

  1. hdu 4790 Just Random

    思路:对于a<=x<=b,c<=y<=d,满足条件的结果为ans=f(b,d)-f(b,c-1)-f(a-1,d)+f(a-1,c-1). 而函数f(a,b)是计算0<= ...

  2. 零配置文件搭建SpringMvc

    零配置文件搭建SpringMvc SpringMvc 流程原理 (1)用户发送请求至前端控制器DispatcherServlet:(2) DispatcherServlet收到请求后,调用Handle ...

  3. bzoj 3757 树上莫队

    感谢以下文章作者: http://blog.csdn.net/kuribohg/article/details/41458639 http://vfleaking.blog.163.com/blog/ ...

  4. Java泛型应用总结

    一.泛型的引入原因 在操作集合的时候,之前方法的定义都是Object类型,向集合中添加对象,都自动向上转型,加入的元素可以是任何类型 但是,在取出元素的时候,通常想要使用对象的特有功能,就必须向下转型 ...

  5. bzoj1954 The xor-longest path

    Description  给定一棵n个点的带权树,求树上最长的异或和路径 Input The input contains several test cases. The first line of ...

  6. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) D. Delivery Bears 二分+网络流

    D. Delivery Bears 题目连接: http://www.codeforces.com/contest/653/problem/D Description Niwel is a littl ...

  7. Codeforces Beta Round #4 (Div. 2 Only) B. Before an Exam dp

    B. Before an Exam 题目连接: http://www.codeforces.com/contest/4/problem/B Description Tomorrow Peter has ...

  8. extjs用iframe的问题

    项目中用extjs做前提系统的界面是左边用树做目录 右边用tabpanel做内容展示点击树节点的时候 在tabpanel添加新的tab JScript code var newTab = center ...

  9. HTTP和HTTPS的区别,以及各自的优缺点

    转自  https://www.cnblogs.com/wqhwe/p/5407468.html 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容 ...

  10. MySQL Cluster(MySQL 集群) 初试

    MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.在MyQL 5.0及 ...