zoukankan      html  css  js  c++  java
  • Android Studio下打jar包

          在我们使用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'
        }
    }
    复制代码

    捕获

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

    使用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/ 下就是我们的类库文件.包含资源文件.、

  • 相关阅读:
    24.最优布线问题(kruskal算法)
    24.最优布线问题(kruskal算法)
    Algs4-1.4.11为StaticSETofInts添加一个实列方法howMany()
    Algs4-1.4.9预测程序运行时间
    Algs4-1.4.10二分查找找出元素所在的最小索引
    Algs4-1.4.7统计算术运算与比较次数
    Algs4-1.4.8计算输入文件中相等的整数对的数量
    Algs4-1.4.6给出以下代码段的运行时间的增长数量级
    Algs4- 1.4.4参照表1.4.4为TwoSum建立一和类似的表格
    Algs4-1.4.2修改ThreeSum防止两个int值相加可能溢出
  • 原文地址:https://www.cnblogs.com/hbtmwangjin/p/8258680.html
Copyright © 2011-2022 走看看