天天看點

android aar 使用原文連結http://www.jianshu.com/p/59efa895589e一. 簡介二. 如何得到aar三. 如何使用aar

原文連結http://www.jianshu.com/p/59efa895589e

一. 簡介

aar

是一個類似于

jar

的檔案格式。但是他們之間是有差別的。

jar

:僅僅包含class和清單檔案,沒有資源檔案。

aar

:包含了class檔案和資源檔案。說白了就是Android的專屬“jar”

将代碼打包成aar檔案,可以在一定程度上加快

AndroidStudio

的速度。

尤其是将

Module

打包成

aar

檔案,提升的效果很顯著。

二. 如何得到aar

1. Module的aar檔案

将一個AndroidStudio項目中的

Module

打包成

aar

其實很簡單。

在每一個

Module

的目錄下面都會有這樣一個檔案夾:

build\outputs\aar

這個檔案夾下面就放着這個

Module

對應的

aar

檔案。

一般情況下會有兩個

aar

檔案,一個

debug

版本,一個

release

版本。

我們選擇

release

的就ok。

android aar 使用原文連結http://www.jianshu.com/p/59efa895589e一. 簡介二. 如何得到aar三. 如何使用aar

三. 如何使用aar

想要使用aar檔案,需要經過以下幾步:

1. 在app的build.gradle中加入以下配置
repositories {    
    flatDir {        
        dirs 'libs'   // aar目錄
      }
}
           
2. 将aar檔案拷貝到app/libs目錄下 3. 在dependencies中加入aar引用
compile(name: 'zbar-release', ext: 'aar')
           
四:Demo
apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '25.0.0'
    defaultConfig {
        applicationId "xxx"
        minSdkVersion 20
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

  

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }      
//生成jniLibs目錄 存放 aar(可有可無)
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }      
// 可以放在android{} 也可以與android 同級别。
    repositories {
        flatDir {
            dirs 'libs'
        }
    }

}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+', {
        exclude group: 'com.android.support', module: 'appcompat-v7'
    }
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile(name: '生成的aar名稱', ext: 'aar')
}