• 发布时间: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

      好了,快去试试吧。

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

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

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

  2. SQL Server中bcp命令的用法以及数据批量导入导出

    原文:SQL Server中bcp命令的用法以及数据批量导入导出 1.bcp命令参数解析 bcp命令有许多参数,下面给出bcp命令参数的简要解析 用法: bcp {dbtable | query} { ...

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

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...

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

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出  ...

  5. Access中一句查询代码实现Excel数据导入导出

    摘 要:用一句查询代码,写到vba中实现Excel数据导入导出,也可把引号中的SQL语句直接放到查询分析器中执行正 文: 导入数据(导入数据时第一行必须是字段名): DoCmd.RunSQL &quo ...

  6. android studio 使用jar包,arr包和怎么使用githup开源项目中的aar包或module

    我这里的android studio的版本是2.2.3版本 一.现在大家都用android studio了,就有人问怎么使用jar包 其实使用jar包比较简单 直接吧jar放入工程的app目录下的li ...

  7. android studio 生成aar包并在其他工程引用 (导入)aar包

    1.aar包是Android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 ...

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

    Android studio如何生成aar包 标签: Android studio如何生成aaAndroid studio aarAndroid 如何生成aar包 2016-12-21 14:42 1 ...

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

    1.aar包是android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 ...

随机推荐

  1. Jasmine

    Jasmine https://www.npmjs.com/package/jasmine The Jasmine Module The jasmine module is a package of ...

  2. SQL Server数据库读写分离提高并发性

    在一些大型的网站或者应用中,单台的SQL Server 服务器可能难以支撑非常大的访问压力.很多人在这时候,第一个想到的就是一个解决性能问题的利器——负载均衡.遗憾的是,SQL Server 的所有版 ...

  3. 使用PHP做分页查询(查询结果也显示为分页)

    1.先把数据库里所有的数据分页显示在页面,并在显示数据的表格上方加上查询表单.(加上条件,实现目标结果.) <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  4. lsof/netstat命令的一个重要作用: 根据进程查端口, 根据端口查进程

    我们知道, 根据ps -aux | grep xxx就是很快实现进程名和进程号的互查, 所以我们只说进程号pid就行. 如下示例中, 进程pid常驻. 1.  根据进程pid查端口: lsof -i ...

  5. CapsNet胶囊网络(理解)

    0 - 背景 Geoffrey Hinton是深度学习的开创者之一,反向传播等神经网络经典算法发明人,他在去年年底和他的团队发表了两篇论文,介绍了一种全新的神经网络,这种网络基于一种称为胶囊(caps ...

  6. 【easy】215. Kth Largest Element in an Array 第K大的数

    class Solution { public: int quicksort(vector<int>& nums, int start, int end, int k){ int ...

  7. Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试

    内容 补充: 查看已启动服务的端口 netstat -tulnp |grep (方式1) ss -tulnp|grep (方式2) 前期铺垫: . Linux要能上网 . 掌握Linux软件包安装方法 ...

  8. LabVIEW--使用云端编译器编译多个vi

    使用ni 云服务器编译vi 详细请看链接: https://users.niwsc.com/compilecloud/#/ http://www.ni.com/white-paper/52328/en ...

  9. 【原创】大叔问题定位分享(22)hive同时执行多个insert overwrite table只有1个可以执行

    hive 2.1 一 问题 最近有一个场景,要向一个表的多个分区写数据,为了缩短执行时间,采用并发的方式,多个sql同时执行,分别写不同的分区,同时开启动态分区: set hive.exec.dyna ...

  10. elementui+vue修改elementUi默认样式不生效

    重写,覆盖都不行, ! important  也不行. 原因是 在style标签加了 scoped 的原因.