Android studio 中引用jar的其实是Maven?(一)
由于Studio比eclipse多了一步對工程構建的步驟,即為build.gradle這個文件運行,因此其引入第三方開發jar包與lib工程對比Eclipse已完成不同,引入第三方jar與lib工程顯得并沒有那么友好了,因為過程中會涉及更多內容,而且你必須認清楚studio的目錄結構。?
舉個例子:?
下圖是我在git上面下載的一個工程,工程中包括了一個lib工程和第三方jar包。?
?
以上為一個工程的projest視圖,由這個視圖可以看出,其中有兩個代碼模塊,一個是demo,一個是library,這兩個代碼模塊會被粗體文字標示出來。還有一個大的文件分支:External Libraries,由字面上的意思就是,第三方依賴的庫文件。然后,下面一推的jar包。?
還有其他的一些文件,一些gradle腳本相關的文件,如果第一次使用studio你會很驚訝,究竟這些文件又啥用呢?其實除了demo和library之外的文件都是這個工程的構建文件,這個工程的建立依賴了這些文件。因此如果還不夠明白,我們可以切換到android工程視圖來看。
?
上圖是一個工程的android視圖,由視圖可以看出,該工程下面包含了三個部分:demo,library,Gradle Scripts。?
demo是主體工程,library是依賴庫,那么Gradle Scripts就是這個工程的構建腳本了。Gradle Scripts下面可以到腳本的一些屬性設置項,settings決定了腳本目標模塊是誰,而三個不同的build.gradle則針對不同的模塊,針對其后的括號內容。
下圖是這個工程的的build.gradle(project)的內容:?
?
由上圖可知,負責構建project的gradle腳本,僅僅定義了gradle的版本,并且注釋著:
貌似這樣看來瞬間對studio的工程結構清晰了很多,可是問題又來了:在android視圖下面,第三方android的jar包去哪里了,即External Libraries去哪里?而在project視圖下,這些jar又是在哪里下載的?
關于第一個問題,為何在android視圖下面沒有顯示第三方jar包我還不清楚,是studio犯抽了還是故意隱藏掉,不得而知。?
關于在哪里下載,這個必須好好找找原因。?
在第一次打開使用各個模塊的build腳本之后,你會發現,studio開始下載一些工具庫,包括在project視圖下面的第三方jar包,而這些jar在哪里定義?哪里下載呢?
切換回project視圖,你會發現這些第三方jar包都是被定義在各個模塊中的腳本中,而這些腳本都引用了倉庫,maven倉庫,又腳本上段可以看出這個倉庫名稱”jcenter()“.?
既然是一個代碼倉庫,那么總會有下載地址的吧,所以在腳本里面,按住ctrl,選中”jcenter()“這個方法,跳到這個方法實現類里面,如圖:?
找到這個方法定義之后,在往上找,找到該類:?
ctrl+點擊該類,你會發現驚喜。沒錯,倉庫的地址定義在這個類ArtifactRepositoryContainer里面:
然后打開以上網址,你會驚訝地發現,這個倉庫實在有太多代碼塊了,按著jar包名稱,可以慢慢找到之前定義好的jar包。?
至于他們如何對這些jar包進行下載的,有待進一步研究maven倉庫。
下一篇:?Android studio 中引用jar的其實是Maven?(二)
轉載于:https://www.cnblogs.com/wuwa/p/6191520.html
總結
以上是生活随笔為你收集整理的Android studio 中引用jar的其实是Maven?(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单元测试练习
- 下一篇: HTML5与CSS3基础教程第八版学习笔