jar與aar的區(qū)別及使用方法

使用Android Studio對工程進(jìn)行編譯后,會同時(shí)生成jar與aar文件。

其位置分別位于:

jar: /build/intermediates/bundles/debug(release)/classes.jar
aar: /build/outputs/aar/libraryname.aar

兩者的區(qū)別:

jar 中只包含了class文件與清單文件。
aar中除了包含jar中的class文件還包含工程中使用的所有資源,class及res資源文件全部包含。
如果只是一個(gè)簡單的類庫那么使用生成的*.jar文件即可;如果你的是一個(gè)UI庫,包含一些自己寫的控件布局文件以及字體等資源文件那么就只能使用*.aar文件。

使用方式:

jar 拷貝到 libs 目錄,并在gradle文件中添加

dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
}

aar 有兩種方式:
1.本地使用
拷貝到 libs目錄,并在gradle文件中添加

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name:'genius', ext:'aar')
}

2.網(wǎng)絡(luò)加載
將aar發(fā)布到mavenCentral倉庫,在gradle文件中添加

repositories {
    maven {
        url "http://maven.dev.sh.ctripcorp.com:8081/nexus/content/groups/public"
    }
}
dependencies {
    classpath 'net.sf.proguard:proguard-gradle:5.2.1'
}

多層Module依賴本地AAR

Android Studio多層Module依賴本地AAR,在編譯的時(shí)候出發(fā)生錯(cuò)誤,找不到AAR(ModuleA libs中有c.aar,ModuleB依賴ModuleA)
此時(shí)需要在ModuleB的build.gradle中添加

repositories {
    flatDir {
        dirs '../ModuleA/libs','libs'
    }
}

同時(shí)在dependencies中添加aar名稱:

compile(name:'c', ext:'aar')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,285評論 6 342
  • aar包介紹 在介紹aar之前,先來看看jar。現(xiàn)在在android開發(fā)過程中經(jīng)常需要引用jar等第三方庫。你可以...
    FlyDragonInSky閱讀 6,323評論 0 5
  • 一、android中.aar文件與.jar文件簡單介紹 .jar:只包含了class文件與清單文件,不包含資源文件...
    黃海佳閱讀 7,276評論 1 1
  • 作為一個(gè)資深的碼農(nóng),用hello world來作為我的重生的也是重新的blog的第一篇文章的title,最為合適不...
    sonxbb閱讀 932評論 0 1

友情鏈接更多精彩內(nèi)容