日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Android studio 中引用jar的其实是Maven?(一)

發布時間:2025/4/5 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的版本,并且注釋著:

<code class="hljs lua has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"> // NOTE: Do <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> place your application dependencies here; they belong// <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> the individual <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">module</span> build.gradle files</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

貌似這樣看來瞬間對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?(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。