zoukankan      html  css  js  c++  java
  • Android将被依赖的库项目打包成aar(非jar)文件

    前奏:之前一直在寻找各种打成jar包的方式,该方式只能把class文件打成jar包,并不能

    把项目中的资源文件(比如res目录下的文件,assets目录下的文件)也打到jar包里面

    就算可以打到jar包里面,我们的项目也不能使用。

    主题:后来更新ADT的时候看到SDK的extrasandroidm2repositorycomandroidsupport目录下

    有好多后缀为aar的文件,解压工具打开可以看到里面赫然包含着assets、res、AndroidManifest.xml、classes.jar

    和R.txt等文件,然后通过测试发现直接将aar文件放到项目的libs目录下,可以调用里面的资源文件和类文件。

    下面说说aar的生成方法和使用方法:

    生成方法:必须通过AndroidStudio工具(需要使用它的Gradle构建方式,低版本的估计不行,我使用的最新版本1.1.0),创建一个非库项目A,再创建一个库项目B,并且使得A依赖于B,然后运行项目A,这时在库项目B的uildoutputsaar目录下可以看到B-debug.aar和B-release.aar两个文件,该文件就是一会提供给项目A使用的。

    使用方法:

    现在让A项目去掉对B的依赖关系,将上面生成的B-debug.aar或者B-release.aar拷贝到项目A的libs目录下,修改A项目的build.gradle配置文件,如下

    repositories{
        flatDir{
            dirs 'libs'
        }
    }

    dependencies {
    //    compile fileTree(dir: 'libs', include: ['*.jar'])
        compile (name:"B-release",ext:"aar")
        compile 'com.android.support:appcompat-v7:22.0.0'
    }

  • 相关阅读:
    代码:城市名称的联想下拉框。可按拼音搜索、按汉字搜索,是一种很简单的实现方式
    代码:拖拽
    插件:zTree
    代码:遍历
    学习笔记:Stage.js(又叫Cut.js)——2D canvas 开发库,游戏方面的
    前端模块化、构建工具
    二级联动下拉菜单
    thinkphp的目录结构设计经验总结
    tp 路径表示
    liunx 根目录介绍
  • 原文地址:https://www.cnblogs.com/hello-studio/p/9640511.html
Copyright © 2011-2022 走看看