androidStudio 4.0 打包jar、找不到jar一系列問題、classes.jar位置

androidStudio 4.0 打包jar、找不到jar一系列問題、classes.jar位置

寫前叨叨…

衆所周知,做爲一名合格的Android開發者,打包 aar、jar、apk… 是所必需要掌握的技能,但是就在今天下午發生了一件事件:我打包出來的jar 包竟然找不到了,若是你也遇到了一樣的問題,各位看官繼續瀏覽。java

本文的重點是爲了解決 打包出來的jar 找不到的問題,可直接跳入 二:遇到的問題android

今天遇到的問題是隨着AndroidStudio版本的升級,構建腳本中 的
from 路徑發生了改變,因此找不到 class.jar 因此發現不了什麼問題,而生成的jar又找不到。
程序員

不一樣版本的androidStudio 中 classes的位置
build/intermediates/packaged-classes/release/
build/intermediates/bundles/defalut/
build/intermediates/aar_main_jar/release


測試

正文

一:新建Module

1:新建 Module
在這裏插入圖片描述
2:選擇 ModuleType爲 AndroidLibrary
在這裏插入圖片描述
3:爲新建的Library 命名爲TestJarLibrary(這個能夠根據你本身來命名)在這裏插入圖片描述
4:點擊Finish 後總體 項目結構應該是這樣子的
在這裏插入圖片描述





gradle

5:在 TestJarLibrary 這個 Module中 新建類 LogUtil 並新建方法 showLog(這一步主要是爲了驗證咱們的Module可否可用)
在這裏插入圖片描述
網站

6:接下來就讓咱們在 別的Module 測試一下 咱們的TestJarLibrary是否可用, 在須要使用的 Module build.gradle 中的dependencies 中新增ui

implementation project(path: ':TestJarLibrary')

讓主Module 引入 TestJarLibraryspa

在這裏插入圖片描述
7:隨便找個地方試一下 LogUtil.showLog(「測試」), 發現並無報錯,導包也是對的,說明咱們的TestJarLibrary 是沒問題的。
在這裏插入圖片描述

code

二:打包Jar (重點)

1:在testJarLibrary 的 build.gradle 中添加構建腳本 ,並同步blog

task makeJar(type: Copy) {
    //刪除存在的
    delete 'build/libs/testLibrary.jar'
    //設置拷貝的文件 (重中之重)
    from('build/intermediates/aar_main_jar/release')
    //打進jar包後的文件目錄
    into('build/libs/')
    //將classes.jar放入build/libs/目錄下
    // include ,exclude參數來設置過濾
    // (咱們只關心classes.jar這個文件)
    include('classes.jar')        //重命名
    rename('classes.jar', 'testLibrary.jar')
}
makeJar.dependsOn(build)

2:執行構建腳本
在 Terminal 中執行 命令 gradlew makeJar
就會在 Test JarLibrary 中的build/libs 生成 咱們所須要的 testLibrary.jar
這裏的名字,生成後保存路徑均可以根據上面的打包 腳本去修改。


在這裏插入圖片描述

3:測試jar :將咱們打包出來的jar copy 到所須要的Module 地方的libs 目錄下,並在 build.gradle 的 dependencies 添加

implementation files('libs\\testLibrary.jar')

在這裏插入圖片描述
4:此時 你剛剛導進去的 jar包應該是能夠展開的這種狀態,而後咱們找個地方測試一下 LogUtil 的調用。發現不報錯,一切正常
在這裏插入圖片描述

二:遇到的問題

上面是理想的狀態,這種簡單的寫法,放在之前寫了好幾百遍,都沒有問題,各大網站各類打包的文章數不勝數,可是隨着 AndroidStudio 的版本升級出現了一些小問題。

1:執行打包命令後 提示success 了,可是就是找不到 Jar包的位置,咱們明肯定義了路徑 爲 build/libs/,可是就是沒有jar,甚至連libs 目錄都找不到。
2:經過 各類百度,發現 不一樣的androidStudio版本 build/ class.jar 的目錄發生了變化 ;
3:目前我所使用的是 android 4.0.1
文件所在目錄爲:
build/intermediates/aar_main_jar/release
在這裏插入圖片描述




4:其他androidStudio 版本可能的位置
build/intermediates/packaged-classes/release/
build/intermediates/bundles/defalut/

三:解決問題

嘗試用不一樣版本下的 classes.jar 文件路徑

寫後叨叨…

一件簡單的事情 卻讓 一個老程序員抓耳撓腮,不知所措,因此點點滴滴的知識積累纔是關鍵。以上文字僅表明我我的意見,工做中遇到的問題當作積累

相關文章
相關標籤/搜索