一般开源库有两种形式:

  • 第一种是作者打包好的,格式有jar,so,aar 等。
  • 第二种是作者直接以源码的形式给出并没有打包的。

一、打包好的类库(以jar包为例)

1.远程依赖库

Android Studio 使用 Gradle 构建 Android程序,使用Gradle 添加远程依赖库也变得极为简单。一般开源类库作者都会将自己打包好的类库以这种发布出来,这样我就可以直接在Gradle添加依赖使用了。

我们通过https://mvnrepository.com等类库发布平台,找到自己所需要的类库。复制其发布地址(例如:dom4j):

// https://mvnrepository.com/artifact/org.dom4j/dom4j
implementation group: 'org.dom4j', name: 'dom4j', version: '2.1.3'

然后找到项目gradle文件:build.gradle    

在<dependencies>内,复制上述地址

dependencies {


    // https://mvnrepository.com/artifact/org.dom4j/dom4j
    implementation group: 'org.dom4j', name: 'dom4j', version: '2.1.3'
}

即可。

在Android Studio 中的具体步骤:

(1). 首先将Android Studio 目录结构切换到 Android (当然这个不是必须的)

(2). 在Gradle Scripts 中找到 app/build.gradle 文件

(3). 在 dependencies 块中加入 compile 命令:

dependencies {   
         ......
 
// https://mvnrepository.com/artifact/org.dom4j/dom4j
    implementation group: 'org.dom4j', name: 'dom4j', version: '2.1.3'
 
 }

(4).执行 Gradle (或者直接运行下工程) 没有提升错误就说明成功了

但是有时候事情总不是那么一帆顺风的,一般都会给出错误提示,Google即可。

下面给出两种可能的原因

(1). 网络问题

     既然说它是远程依赖库,联网是必须的。你要保证它可以访问网络。 检查File ->Setting->Gradle 下 Offline work

是否被打钩,这地方是不能勾选的。另外一个就是有可能是天朝特殊的网络环境,这个你就需要代理了。

(2) JDK 版本问题

    这个问题比较奇葩,但是还是被我遇到过。Ubuntu 下默认源给的是 OpenJDK,我之前是用了 OpenJDK 7.x ,我以执行Gradle 就提示 can not resolve ....  后来换成 Oracle JDK (OpenJDK 8.x 可以)一切正常 Google官方推荐的是 Oracle JDK ,所以还是老老实实用 Oracle吧,不然指不定还会出什么问题呢!

2. 导入本地类库

并不是所有的开源作者都提供了“远程依赖库”,因此我们还需要学会如何从本地导入。

(1) 首先下载到相应的类库包 。

(2) Android Studio 项目目录结构切换到 Project 进入 app->libs 目录,将jar包直接复制到这里。

(3) 右键jar包 选择 Add As Library 即可

(4) 执行Gradle

需要注意的是,如果你已经在Gradle添加了依赖就不要再在这里添加jar包了,否则会冲突!
3.源码的app module,

    如果 你有别人没有打包的android studio·项目创建的源码的 app module 模块。

(1)把模块放在项目的 根目录 下

 (2)在settings.gradle 文件中加入 ':HtmlSpanner'  这里的HtmlSpanner要和源码文件名对应           

include ':app',':HtmlSpanner'

同样的 在app/build dependencies块中添加 compile 命令

compile project(':HtmlSpanner')

(4) 执行 Gradle