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的方法總結
相關文章
- Android Studio打包apk,aar,jar包AndroidAPKJAR
- AndroidStudio專案打包成jarAndroidJAR
- AndroidStudio打包Library專案成jar包AndroidJAR
- 【盜墓筆記】圖解使用fat-aar方式在AndroidStudio中打包巢狀第三方aar的aar筆記圖解Android巢狀
- Flutter打包AAR外掛之fat-aar使用教程Flutter
- jdbc 最新mysql jar包下載方法JDBCMySqlJAR
- 【BUG系列】AndroidStudio打包出錯Android
- 【java學習】jar、arr和程式打包JavaJAR
- idea打包jar包IdeaJAR
- springboot,springcloud打包成jar教程Spring BootGCCloudJAR
- jenkins將打包的jar包部署到nexusJenkinsJAR
- Maven打包springboot框架的可執行的jarMavenSpring Boot框架JAR
- Assemby 打包並啟動jar包JAR
- springboot將jsp打包成jar執行的坑Spring BootJSJAR
- linux中常見的打包壓縮命令——tar、jarLinuxJAR
- JDBC for MySQL 最新jar包下載JDBCMySqlJAR
- [轉]androidstudio更改優先載入系統包framework.jar的順序AndroidFrameworkJAR
- IDEA打包工具類jar並混淆IdeaJAR
- Intellij Idea 將java專案打包成jar,cmd執行該jarIntelliJIdeaJavaJAR
- Idea Java Maven建立專案,新增依賴,引用本地jar,打包jarIdeaJavaMavenJAR
- Intellij Idea 將Java專案打包成jarIntelliJIdeaJavaJAR
- AndroidStudio加入第三方庫的方法Android
- AAR 檔案錯誤:Direct local .aar file dependencies are not supported when building an AAR.UI
- Flutter: 以 aar 形式嵌入 android 中的方案和原理FlutterAndroid
- 把可執行jar打包成exe檔案JAR
- 讀取 jar 包中巢狀的 jar 包內容的方法JAR巢狀
- Springboot 在 Linux 中打包 Jar 包在後臺執行Spring BootLinuxJAR
- linux 啟動jar包:在 Linux 上啟動 Java jar 包的方法LinuxJARJava
- 將一個帶有main方法的jar生成為可執行jarAIJAR
- linux下的QT打包方法LinuxQT
- Flutter 混合開發實戰問題記錄(五)1.9.1-hotfix 打包aar差異Flutter
- 打包可執行jar檔案,沒有主清單屬性,部分依賴沒有打包。JAR
- IDEA專案已新增jar包,pom檔案,打包Maven卻一直報錯的幾種解決方法IdeaJARMaven
- Flutter入門進階之旅(十八)Flutter專案打包成aar整合到原生Android專案FlutterAndroid
- Flutter 混合開發實戰問題記錄(三)打包並上傳flutter aar 到mavenFlutterMaven
- SpringBoot(2.1.1)打包為 War最新版Spring Boot
- 記一次springboot專案打包後jar中的類無法使用Spring BootJAR
- Java 如何打增量 jar 包【修改部分檔案不需全部打包】JavaJAR