AndroidStudio最新打包jar和aar的方法
環境
文章的執行環境為:
AndroidStudio版本:3.1.4
Gradle版本:3.1.4
前言
在日常開發中我們常常需要引用其他專案的程式碼。有如下幾種方式:
- 通過gradle,maven等遠端匯入。
- 複製對應的Library到自己的Project下,直接匯入Library。
- 用AndroidStudio開啟程式碼,然後打包成jar或者arr,複製到專案的libs資料夾下,匯入即可。
方法1適合開源專案,否則需要通過購買GitHub私有專案或者搭建私服來使用。
方法2雖然簡單,但是如果多個Project多次使用則非常麻煩。
方法3則是打包一次,直接複製jar或arr就可多次使用。
今天就來簡單介紹一些方法2和方法3,和在最新的AndroidStudio和Gradle下如何打包jar和arr。
PS:最新的AndroidStudio和Gradle下雖然打包aar變的簡單,但是打包jar變得麻煩許多,生成的路徑也變了,這裡需要注意。
arr和jar的區別
- jar:僅打包了class檔案和配置清單檔案,其res等資原始檔並沒有打包。適合傳統的Java或者沒有資原始檔的Android專案。
- arr:打包了所有的class、res等資原始檔。適合Android專案。
匯入Library
新建一個Library,複製,編輯所需程式碼。也可以通過Import Module的方式匯入。
如果是直接複製的Library,則需要配置工程的settings.gradle,在include後新增對應的Library,如下:
include ':app', ':mylibrary'
如果沒有資料夾上沒有出現樹狀圖的小標誌,可以Build—>Rebuild Project。
匯入如下圖:
打包aar
直接看圖簡單了事。如下:
最新的Gradle可以直接implementation files(‘xxxxxx.aar’)匯入aar,而非傳統的compile(name: ‘xxxxx’, ext: ‘aar’),無需額外配置程式碼,非常的方便。
打包jar
複製如下程式碼到Library下的build.gradle中:
//根據Library名稱生存jar包到build目錄下
//可根據自己需求更改
task againMakeJar(type: Copy) {
def name = project.name //Library名稱
delete 'libs/' + name + '.jar' //刪除之前的舊jar包
from('build/intermediates/packaged-classes/release/') //從這個目錄下取出預設jar包
into('libs/') //將jar包輸出到指定目錄下
include('classes.jar')
rename('classes.jar', name + '.jar') //自定義jar包的名字
}
againMakeJar.dependsOn(build)
注意:最新的jar預設生成路徑是:build/intermediates/packaged-classes/release/,而非build/intermediates/bundles/release/
匯入如下圖:
複製生成的jar包到制定專案的libs目錄下,然後右鍵選擇Add as Lisbrary,即可成功匯入。
參考
Android studio 將 Module 打包成 Jar 包
android studio library生成jar包和aar的方法總結
相關文章
- gradle 打包aar去除引用的jar檔案GradleJAR
- Android Studio打包apk,aar,jar包AndroidAPKJAR
- AndroidStudio專案打包成jarAndroidJAR
- 【盜墓筆記】圖解使用fat-aar方式在AndroidStudio中打包巢狀第三方aar的aar筆記圖解Android巢狀
- AndroidStudio打包Library專案成jar包AndroidJAR
- Flutter打包AAR外掛之fat-aar使用教程Flutter
- jar打包JAR
- jar 打包JAR
- jdbc 最新mysql jar包下載方法JDBCMySqlJAR
- AndroidStudio打包步驟Android
- 【java學習】jar、arr和程式打包JavaJAR
- jar檔案打包JAR
- 【BUG系列】AndroidStudio打包出錯Android
- jar命令打包與java執行jar包JARJava
- idea打包jar包IdeaJAR
- java打包.jar及.exeJavaJAR
- Androidstudio中jar包重複或jar包裡的類重複問題AndroidJAR
- gradle專案打包jarGradleJAR
- Assemby 打包並啟動jar包JAR
- java project打包生成jar包(通用)JavaProjectJAR
- 利用ant編譯釋出打包jar檔案和打包api文件為rar檔案編譯JARAPI
- JDBC for MySQL 最新jar包下載JDBCMySqlJAR
- maven 打包可執行 jar 檔案MavenJAR
- 如何將web打包成jar檔案WebJAR
- javabean 如何打包到jar檔案裡JavaBeanJAR
- linux中常見的打包壓縮命令——tar、jarLinuxJAR
- jenkins將打包的jar包部署到nexusJenkinsJAR
- Maven打包springboot框架的可執行的jarMavenSpring Boot框架JAR
- IDEA打包工具類jar並混淆IdeaJAR
- springboot,springcloud打包成jar教程Spring BootGCCloudJAR
- Android Studio 使用 Gradle 打包 JarAndroidGradleJAR
- Idea Java Maven建立專案,新增依賴,引用本地jar,打包jarIdeaJavaMavenJAR
- [轉]androidstudio更改優先載入系統包framework.jar的順序AndroidFrameworkJAR
- AAR 檔案錯誤:Direct local .aar file dependencies are not supported when building an AAR.UI
- Intellij Idea 將java專案打包成jar,cmd執行該jarIntelliJIdeaJavaJAR
- seajs和requiejs的區別,和用gulp打包方法JSUI
- 把可執行jar打包成exe檔案JAR
- AndroidStudio之NDK環境搭建,so檔案打包以及使用Android