標籤:android 技術 not 產生 log .class 情況下 info 類型
原文:Android項目實戰(三十三):AS下擷取擷取依賴三方的jar檔案、aar 轉 jar
使用 Android studio 開發項目中,有幾種引用三方代碼的方式:jar 包 ,類庫 ,gradle.build 的compile依賴。
大家會發現github上不少的項目只提供compile依賴的方式,但是當用到jar包使用過的情況 且 該項目不提供jar包的時候怎麼辦?
其實Android Studio 在compile方式 依賴三方項目的時候 就已經在本地有了該項目的jar包了,我們只需要去本地找到那個jar包就可以了。
尋找方法:
一、項目大綱路徑下的:External Libraries ,會發現很多我們當前項目中用的三方。
二、選擇其中的一個右鍵 :選中 Library Properties...
三、 可以看到該三方項目的jar包在本地中的路徑位置,只需要在該路徑下找到該jar包即可
四、可以在該路徑下找到jar檔案了。
五、resource.jar 與 jar
大家實際操作起來會發現,有的三方我們能找到它的resource.jar 和 jar兩種jar包,而有的三方我們只能找到resource.jar包 而沒有jar包
resource.jar 檔案 和 .jar 檔案的區別:
實際上 resource.jar 包 叫做 資源jar包,我們解壓縮會發現其中的檔案都是.java 類型的 。 而去 解壓縮.jar 檔案 會發現其中的檔案都是 .class類型的。
而只有內部是.class檔案的 jar包才是我們真正可以使用的,而resouce.jar 資源jar包 不能使用,否則會報ClassNotFindException 異常 。
那麼按上述步驟找到的三方只有resource.jar 包的情況下 怎麼擷取 jar包呢。
這裡再瞭解一下 .aar 檔案 和 .jar 檔案的區別。
*.jar:只包含了class檔案與資訊清單檔,不包含資源檔,片等所有res中的檔案。*.aar:包含所有資源,class以及res資源檔全部包含如果你只是一個簡單的類庫那麼使用產生的*.jar檔案即可;如果你的是一個UI庫,包含一些自己寫的控制項布局檔案以及字型等資源檔那麼就只能使用*.aar檔案。
按上述 一 --- 四的步驟,其實我們會發現
除了 .jar 檔案 和 .resource.jar 檔案之外,還有一個 .aar 檔案
如果有 .aar 檔案 ,就可以從.aar 檔案中擷取到我們需要的 .jar檔案
步驟如下:
1、找到一個 .aar 檔案
2、修改檔案格式為 .zip 關於解壓
3、解壓縮這個.zip檔案
4、其中的 classes.jar 就是我們需要的 該三方的 .jar 包了 重新命名成自己需要的名字即可。
Android項目實戰(三十三):AS下擷取擷取依賴三方的jar檔案、aar 轉 jar