常常在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. poj 2104 静态主席树

    我的第一道主席树(静态). 先记下自己对主席树的理解: 主席树的作用是用于查询区间第k大的元素(初始化nlog(n),查询log(n)) 主席树=可持续线段树+前缀和思想 主席树实际上是n棵线段树(由 ...

  2. [转]jquery加载页面的方法(页面加载完成就执行)

    jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别.   1.$(function(){ $("#a&q ...

  3. zoj 2966 Build The Electric System 最小生成树

    Escape Time II Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/showP ...

  4. 用C++/CLI搭建C++和C#之间的桥梁(三)—— 基本类型

    数值类型 对于基本的数值类型,在C++/CLI中是可以直接映射为托管类型的数值的,可以同时应用于托管类型和非托管类型,编译器会将其自动转换. 基本类型 System命名空间中对应的类 注释/用法 bo ...

  5. Unity3D架构设计NavMesh寻路(未完待续)

    国庆闲来没事把NavMesh巩固一下.以Unity3D引擎为例写一个底层c# NavMesh寻路.由于Unity3D中本身自带的NavMesh寻路不能非常好的融入到游戏项目其中,所以重写一个NavMe ...

  6. [IIS]由安装IIS和.net framework先后顺序引发的问题,你中招了吗?

    引言 最近帮别人做了一个小网站,在本机部署测试的时候,竟然浏览不了aspx后缀的页面,但可以浏览html页面,由此想到了IIS对静态页和动态页不同的处理方式. http请求到达服务器 当服务器接收到一 ...

  7. ArcGIS for Android 点击选择

    public void onSingleTap(float arg0, float arg1) { //selFeatureLayer.selectFeature(5); Point p = mMap ...

  8. Java Collection 简介

    转自:http://skyuck.iteye.com/blog/526358 在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为 ...

  9. nsq多播分发和负载均衡实验

    什么是nsq?请参考实时分布式消息平台nsq. 本地如何搭建nsq?请参考本地搭建nsq经验分享. 从NSQ的设计文档中得知,单个nsqd被设计为一次能够处理多个流数据,NSQ中的数据流模型是由str ...

  10. JAVA 文本 TXT 操作工具类

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...