博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AS中jar包和aar包区别及导入导出
阅读量:4671 次
发布时间:2019-06-09

本文共 3384 字,大约阅读时间需要 11 分钟。

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

      关键字:

    • 摘要: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下是资源文件

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

      2、界面导入

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

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

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

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

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

      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

你可能感兴趣的文章
Manacher's algorithm: 最长回文子串算法
查看>>
算法题003 斐波那契(Fibonacci)数列
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
CSS定位 position
查看>>
冒泡排序
查看>>
es7新特性 includes用法
查看>>
block,inline和inline-block
查看>>
SQA
查看>>
Spring+Struts集成(方案一)
查看>>
在Windows 7中安装、配置和使用IIS7和ASP
查看>>
商业信息敏感、安全处理(口令、数字证书-U盾-密保卡、指纹识别-虹膜识别)...
查看>>
数据库设计的三大范式通俗解释
查看>>
H3C 典型数据链路层标准
查看>>
反向数据库表
查看>>
【原创】Elasticsearch无宕机迁移节点
查看>>
Stripe
查看>>
CC攻击及其解决方法
查看>>
Android安卓手机能不能实现BT文件边下边播?
查看>>
C/C++中printf和C++中cout的输出格式
查看>>
C# CharacterToBinary 将类似2进制字符串 10010110111 转换为数值型源码
查看>>