AS中jar包和aar包区别及导入导出

    • 发布时间:2018-01-18 来源:网络 上传者:用户

      关键字: 导出 导入 区别 包和 aar jar

      发表文章

    • 摘要:jar包和aar包区别*.jar:只包含class文件与清单文件,不包含资源文件,如图片等所有res中的文件。*.aar:包含所有资源,class以及res资源文件全部包含如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。jar包和aar包导出1、新建库步骤:File——New——NewModule——AndroidLibrary2、编译或生成工程步骤:选中类库,点击Bu
    • jar包和aar包区别

      *.jar:只包含class文件与清单文件,不包含资源文件,如图片等所有res中的文件。

      *.aar:包含所有资源,class以及res资源文件全部包含

      如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。

      jar包和aar包导出

      1、新建库

      步骤:File——New——New Module——Android Library

      2、编译或生成工程

      步骤:选中类库,点击Build——Make Module ‘类库名’/Make Selected Modules

      3、获取jar包/aar包

      编译库后,在类库的build文件夹下,jar包和aar会同时生成,具体目录如下:

      - 在build/intermediates/bundles/release目录下的classes.jar

      - arr包的路径:build/outputs/aar/类库名.aarjar包和aar包导入

      其中jar包的导入,在博客 Android Studio 工程依赖有所介绍,
      而aar包导入有两种方法

      1、通过gradle(个人推荐)

      把aar复制到工程应用app下的libs目录中

      在app的build.gradle中添加一个本地仓库,并把libs作为仓库地址:

      // aar包添加1/2

      repositories {

      flatDir{

      dirs ‘libs‘

      }

      }修改dependencies。添加一行:compile(name:’mylibrary-debug’, ext:’aar’)。name就是mylibrary-debug.aar的文件名,ext就是mylibrary-debug.aar扩展名

      dependencies {

      compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])

      compile ‘com.android.support:appcompat-v7:23.2.1‘

      // aar包添加2/2

      compile(name:‘mylibrary-debug‘, ext:‘aar‘)

      }重新编译。编译成功后,在build/intermediates/exploded-aar目录下能看到mylibrary-debug.aar包的内容了。jars下是class文件,res下是资源文件

      2、界面导入

      1、File——New——New Module——Import .JAR/.AAR Package(jar包也可以这样导入)

      2、选择aar包所在的路径,一般还是放置在libs目录下。

      3、点击Finish按钮,项目会重新构建。构建成功后,Projec结构图会多出添加的类库结构目录(以mylibrary-debug为例 ),类库将变成一个带茶杯的文件夹,且会自动添加一个iml文件

      4、添加到app的依赖中去。Project Structure——app——Dependencies中,添加Module dependency,选择要添加类库名,添加成功后,项目目录下的duild.gradle文件,会自动添加下面一条语句。

      dependencies {

      。。。

      compile project(‘:mylibrary-debug‘)

      }

      参考链接:

      http://blog.csdn.net/sugaryaruan/article/details/47011833

      http://blog.csdn.net/a10615/article/details/51649520

    • Android开发随手记录-AS导出jar包

      转载 2016年05月13日 14:30:13

      • 1358

      原文:http://www.jianshu.com/p/8fb1c58ac27a

      自己封装了一个Http框架,想使用Android Studio导出jar包,以前Eclipse直接有个Export,可以直接导出,之从Google说不支持Eclipse,我是一面开心,一面忧伤。开心的是总算有个好的IDE来开发app,忧伤的是AS相对Eclipse变化很大,编译脚本变成了Gradle,各种导包操作都有 差异,平时遇到一些编译错误根本无从下手,只能默默百度。

      下面把今天导出jar的过程记录一下:

      修改项目build.gradle中的apply plugin
      apply plugin: ‘com.android.library‘

      增加以下配置:

      task makeJar(type: Copy) {
          delete ‘build/libs/mysdk.jar‘
          from(‘build/intermediates/bundles/release/‘)
          into(‘build/libs/‘)
          include(‘classes.jar‘)
          rename (‘classes.jar‘, ‘mysdk.jar‘)
      }
      makeJar.dependsOn(build)

      完整配置

      apply plugin: ‘com.android.library‘
      
      android {
          compileSdkVersion 21
          buildToolsVersion "21.1.2"
      
          defaultConfig {
              minSdkVersion 14
              targetSdkVersion 21
              versionCode 1
              versionName "1.0"
          }
          buildTypes {
              release {
                  minifyEnabled false
                  proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
              }
          }
      
          lintOptions {
              abortOnError false
          }
      }
      
      dependencies {
          compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
          compile ‘com.android.support:appcompat-v7:22.0.0‘
          compile ‘com.google.code.gson:gson:2.3.1‘
      }
      task makeJar(type: Copy) {
          delete ‘build/libs/mysdk.jar‘
          from(‘build/intermediates/bundles/release/‘)
          into(‘build/libs/‘)
          include(‘classes.jar‘)
          rename (‘classes.jar‘, ‘mysdk.jar‘)
      }
      
      makeJar.dependsOn(build)

      ok, 主要是这个配置。配置完,如果是在windows直接执行以下命令

      Paste_Image.png

      mac用户,执行./gradlew makeJar

      Paste_Image.png

      好了,快去试试吧。

原文地址:https://www.cnblogs.com/totoo/p/jar.html

时间: 2024-11-06 14:17:38

AS中jar包和aar包区别及导入导出的相关文章

在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能(转)

1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 . 该项目的GitHub地址是: https://github.com/Maatwebsite/Laravel-Excel . 本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出. 2.安装&配置 使用Composer安装依赖 首先在Laravel项目根目录

在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 . 该项目的GitHub地址是: https://github.com/Maatwebsite/Laravel-Excel . 本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出. 2.安装&配置 使用Composer安装依赖 首先在Laravel项目根目录

(转载) Android studio如何生成aar包

Android studio如何生成aar包 标签: Android studio如何生成aaAndroid studio aarAndroid 如何生成aar包 2016-12-21 14:42 1856人阅读 评论(0) 收藏 举报  分类: Android开发(116)  在Android Studio中对一个自己库进行生成操作时将会同时生成.jar与.aar文件. 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/cl

android studio生成aar包并在其他工程引用aar包

1.aar包是android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 2.生成aar包步骤: ①.用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作 ②.新建Module 类型为android Library 后如下图所示 ③.在新建的Module中编写完代码后,接下来编

jar包和war包的区别(转)

jar包和war包的区别:war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块.而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.它们都是压缩的包,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布了. war包:是做好一个web应用后,通常是网站,打成包部署到容器中.jar包:通常是开发时要引用通用类,打成包便于存放管理.ear

jar包和war包的区别

jar包和war包的区别:war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块. 而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的. 它们都是压缩的包,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布了. war包:是做好一个web应用后,通常是网站,打成包部署到容器中.jar包:通常是开发时要引用通用类,打成包便于存放管理.

基于Java的打包jar、war、ear包的作用与区别详解

基于Java的打包jar.war.ear包的作用与区别详解 以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果.除jar以外对于J2EE来说还有war和ear. 对照表   jar war ear 英文名字 Java Archive file Web Archive file Enterprise Archive file 包含内容 class.properties文件,是文件封装的最小单元:包含J

Java的打包jar、war、ear包的作用与区别

以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果.除jar以外对于J2EE来说还有war和ear.区别见下表:   JAR WAR EAR 英文 Java Archive file Web Archive file Enterprise Archive file 包含内容 class.properties文件,是文件封装的最小单元:包含Java类的普通库.资源(resources).辅助文件(au

java打War包,war包和jar包的区别

以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果.除jar以外对于J2EE来说还有war和ear.区别见下表:   JAR WAR EAR 英文 Java Archive file Web Archive file Enterprise Archive file 包含内容 class.properties文件,是文件封装的最小单元:包含Java类的普通库.资源(resources).辅助文件(au