Android studio中导入第三方类库
常常在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中导入第三方类库的更多相关文章
- 如何向android studio中导入第三方类库
下面分两种情况介绍一下如何导入第三方类库. 1.对于jar的类库,直接复制进libs目录,然后把jar复制进去,然后File->Project Structure,然后选中主module的名称, ...
- Android Studio中导入第三方库
之前开发Android都是使用的eclipse,近期因为和外国朋友Timothy一起开发一款应用,他是从WP平台刚切换使用Android的,使用的开发环境时Android Studio,为了便于项目的 ...
- Android如何使用so文件和Android studio中导入so
Android中使用so文件: 做一个PDF阅读的功能,找到一个开源的库,mupdf.下载的是网上编译好的so库,导入到自己项目中的时候一直报错Java.lang.UnsatisfiedLinkErr ...
- 在android studio中导入github下载的工程
1.从Github中下载工程压缩包,并将其解压到本地 2.修改文件 假设,解压后的文件目录如下: (1)修改配置文件 xx\build.gradle // Top-level build file ...
- Android Studio中导入v4,v7和recyclerview-v7包的方法
概述 Android Studio中新建工程中会默认导入v7的包,即在gradle中默认配置了com.android.support:appcompat-v7:x.x.x的依赖.但是不会默认为我们配置 ...
- Support Library官方教程(3)android studio中导入支援包
Support Library Setup How you setup the Android Support Libraries in your development project depend ...
- Android Studio中导入Android项目StepbyStep
想把在eclipse的项目导入Android studio,有两种方法,但是我喜欢的是不改变项目文件结构的方法,因为这样可以兼容eclipse. 第一步: 导入的项目不能运行,需要配置运行环境.And ...
- 如何在Android Studio中导入JNI生成的.so库
由于在原来的ADT的Eclipse环境中,用ndk_build工具生成了相应的各个.so库文件之后,eclipse工具就会自动把这些库导入到apk中.而Android Studio目前为止(0.86版 ...
- Android开发中导入第三方库所遇问题记录
1.重复循环依赖的问题 (1)需求 如下图所示: 在Android 项目中,采用模块化开发,一个是主跑application--Mudule A,另外一个是library--Library B 1)M ...
随机推荐
- 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<= ...
- 零配置文件搭建SpringMvc
零配置文件搭建SpringMvc SpringMvc 流程原理 (1)用户发送请求至前端控制器DispatcherServlet:(2) DispatcherServlet收到请求后,调用Handle ...
- bzoj 3757 树上莫队
感谢以下文章作者: http://blog.csdn.net/kuribohg/article/details/41458639 http://vfleaking.blog.163.com/blog/ ...
- Java泛型应用总结
一.泛型的引入原因 在操作集合的时候,之前方法的定义都是Object类型,向集合中添加对象,都自动向上转型,加入的元素可以是任何类型 但是,在取出元素的时候,通常想要使用对象的特有功能,就必须向下转型 ...
- bzoj1954 The xor-longest path
Description 给定一棵n个点的带权树,求树上最长的异或和路径 Input The input contains several test cases. The first line of ...
- 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 ...
- 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 ...
- extjs用iframe的问题
项目中用extjs做前提系统的界面是左边用树做目录 右边用tabpanel做内容展示点击树节点的时候 在tabpanel添加新的tab JScript code var newTab = center ...
- HTTP和HTTPS的区别,以及各自的优缺点
转自 https://www.cnblogs.com/wqhwe/p/5407468.html 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容 ...
- MySQL Cluster(MySQL 集群) 初试
MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.在MyQL 5.0及 ...