在我们使用Eclipse时,我们常常使用的第三方类库文件大多都是jar包形式,用起来很方便。但是jar包只能打包class文件,对于Android UI类库而言,我们常常需要打包资源文件,对于界面不多的情况,我们可以通过反射来调用,把资源文件都通过这个反射的R引用出来 ,但是太多打jar包就行不通了。

在Eclipse下我们还可以通过将一个工程作为另一个工程的类库存在来解决这个问题,在Android Studio中提供了一种新的打包方式,那就是aar ,它和jar包的不同之处就在与aar包中将资源文件和class.jar 一起打包进去了 ,但是在Eclipse下是不可以使用aar的 。

在Android Studio下对库文件进行编译的时候,会同时生成*.jar 和  *.arr 文件。

  • jar 文件目录:Volley/build/intermediates/bundles/debug(release)/classes.jar
  • aar文件目录:Volley/build/outputs/aar/libraryname.aar

如果 所编译的 库文件  不涉及到UI (res), 没有assets 、没有aidl ,那么这个 classs.jar 就可以使用了。

Android Studio下生成文档的方式:

有时候,对于我们的代码想要生成文档,供别人使用,我们还需要做一些操作。

我们可以在我们的工程目录下的build.gradle添加如下内容

buildscript {
repositories {
//mavenCentral托管
mavenCentral()
}
dependencies {
//gradle 版本
classpath 'com.android.tools.build:gradle:1.0.1'
}
}
// 申明是一个类库
apply plugin: 'android-library' android.libraryVariants.all { variant ->
task("generate${variant.name}Javadoc", type: Javadoc) {
description "Generates Javadoc for $variant.name."
source = variant.javaCompile.source
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar)
} // 生成javadoc文档
task("javadoc${variant.name}", type: Jar) {
classifier = "javadoc"
description "Bundles Javadoc into a JAR file for $variant.name."
from tasks["generate${variant.name}Javadoc"] }
// 生成jar文件
task("jar${variant.name}", type: Jar) {
description "Bundles compiled .class files into a JAR file for $variant.name."
dependsOn variant.javaCompile
from variant.javaCompile.destinationDir
exclude '**/R.class', '**/R$*.class', '**/R.html', '**/R.*.html'
}
}

点击途中红色部分即可操作相应的命令。、生成文件在\mylibrary\build\libs 目录下。

使用jar包或者arr包

在Eclipse下使用第三方类库有两种方式。这里就不说了;主要是在Android Studio下使用,。

Android Studio使用jar 包。

①将jar包导入到lib目录下

②在Module的build.gradle中添加如下代码

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}

Android Studio下导入arr包

这里有两种方式,一种是本地加载,一种是网络加载。

网络加载需要我们提交发布到mavenCentral托管,托管过了的项目一般在build.gradle中加入如下代码就会自动下载到本地 例:

repositories {
mavenCentral()
} dependencies {
// 项目地址
compile 'me.drakeet.materialdialog:library:1.2.2'
}

本地arr包的配置

①拷贝arr包到lib

②build.gradle配置

repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
// 前面是项目名,记住不带arr后缀,后面是后缀
compile(name: 'mylibrary', ext: 'aar')
}

导入成功我们就可以在Studio的build目录下见到效果了,/工程目录/intermediates/ 下就是我们的类库文件.包含资源文件.、

Android Studio下打jar包的更多相关文章

  1. Android Studio下导出jar包和aar包

    Android Studio下导出jar包和aar包 jar包和aar包的区别 步骤 1. 创建Android工程 创建工程比较简单,不错复述 2. 创建一个Library(Module) 创建了一个 ...

  2. Android Studio导入第三方jar包或依赖工程的方法

    Android Studio导入第三方jar包或依赖工程的方法   一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...

  3. (转载) android studio library生成jar包和aar的方法总结

    android studio library生成jar包和aar的方法总结 标签: android学习文档jar和aar的使用与生成gradle 2016-11-25 10:39 1782人阅读 评论 ...

  4. Android Studio 如何打JAR包

    Android Studio 如何打JAR包 在eclipse中我们知道如何将一个项目导出为jar包,供其它项目使用.  在AS中可以通过修改gradle才处理.  我们新建一个项目MakeJar,在 ...

  5. Android Studio 怎样打JAR包

    Android Studio 怎样打JAR包 在eclipse中我们知道怎样将一个项目导出为jar包,供其他项目使用. 在AS中能够通过改动gradle才处理. 我们新建一个项目MakeJar,在项目 ...

  6. Android Studio 导入系统 jar包

    1.当前需要导入系统jar包的module所对应build.gradle中添加如下依赖: provided files('libs/classes-full-debug.jar') 也可以图形化设置: ...

  7. Eclipse / android studio 添加第三方jar包 步骤

    eclipse 将第三方包放到libs文件夹后并没有引用. 基本步骤分为3步,具体介绍如下: 打开自己的Eclipse,在自己的Android工程上名上右键->Build Path ->C ...

  8. 关于Android Studio中第三方jar包的Javadoc绑定

    原文地址:http://blog.csdn.net/a739697044/article/details/28116189   现在刚开始从Eclipse转用Android Studio,现在在尝试使 ...

  9. Android Studio如何打jar包

    前言 公司经常和客户提供SDK,提供一个jar包sdk是一件很平常的事.Eclipse 有图形界面和向导供开发者将一个项目导出为jar包,相对来讲是比较简单的,切换到Android Studio后,则 ...

随机推荐

  1. python路径相关

    import sys import os sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 将当 ...

  2. Zephyr-开发流程

    开发流程 前提1:检查你的Linux主机满足入门指南中规定的最低要求. 具体请参考 :  物联网操作系统-Zephyr 前提2: 确保SDK的环境变量和zephyr项目的环境变量. 终端执行: $ e ...

  3. iOS 颜色选择器 仿ps 调色板

    前几天写东西,需要到调色板,自己网上搜了一下,好多都写得很麻烦,自己手敲了一个,使用很简单,飞虎不多说,上图,上代码,上使用教程,希望大家喜欢,(基于xcode7.0版本) 最后更新于15/12/14 ...

  4. 我的HttpClients工具

    import java.io.IOException; import javax.ws.rs.core.MediaType; import org.apache.commons.httpclient. ...

  5. 【Linux】鸟哥的Linux私房菜基础学习篇整理(七)

    1. test命令的测试功能.测试的标志:(1)关于文件类型的检测 test [-efdbcSpL] filename-e:该文件名是否存在:-f:该文件名是否为文件:-d:该文件名是否为目录:-b: ...

  6. SecureCRT如何设置字符编码和外观?

    SecureCRT是SSH的很好的工具,但是使用的时候,一般都习惯自己的风格. 怎么设置呢? 选项->会话选项->外观 如下图所示

  7. bzoj2730

    首先不难想到要先求割顶,求割顶的方法白书上有讲解由于是一个矿崩塌,所以假如一个连通块连接了两个以上割顶,那么这个连通块内显然是不用设出口的连接块只连接了一个割顶,那么出口可以设在这个连通块内任意位置由 ...

  8. 暴力求解——POJ 1321 棋盘问题

    Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...

  9. Servlet的一些细节(2)

    1. Servlet的创建时间 Servlet是不能单独运行,调用它的叫做Servlet引擎,或者叫做web服务器 针对客户端的多长Servlet请求,通常情况下,服务器只会创建一个Servlet实例 ...

  10. RabbitMQ-清空队列中(一个channel或连接中)的Unacknowledged状态的消息

    清空所有:nack 时将参数delivery-tag设为0,multiple设为1. 清空小于等于某delivery-tag的所有消息:nack 时将参数delivery-tag设为正数(介于1和92 ...