1. 程式人生 > >AS新增第三方庫的6種方式(Jar,module,so等)

AS新增第三方庫的6種方式(Jar,module,so等)

點選專案設定按鈕

這裡寫圖片描述

依次選擇 App > Dependencies

這裡寫圖片描述

1. 直接搜尋法

依次選擇 + > Library dependency

這裡寫圖片描述

這裡的搜尋一定要是全名的,不然搜不到哦

這裡寫圖片描述

下圖所表示的庫和Gradle檔案是對應的,後面我們會將Gradle

這裡寫圖片描述

點選OK後,我們會看到AS下邊中心位置出現了重新整理,以及重新Build專案

這裡寫圖片描述

測試

這裡寫圖片描述

2. libs新增法

這裡直接複製你的第三方jar包到如下目錄,我們這裡以UML為例子,首先點選Android ,切換到Project

這裡寫圖片描述

找到app > libs ,如果沒有libs就新建一個;如果是eclipse匯出過來的專案那麼這個libs目錄直接在根目錄下,這點切記

這裡寫圖片描述

現在我們點選下圖的按鈕重新Build一下專案

這裡寫圖片描述

測試

這裡寫圖片描述

3. Module新增法

這在這裡新建了一個Module名稱為 mylibrary,和新建專案差不多,這裡先不多講,然後我新建了一個UserTest.class做測試,我們在App中呼叫這個類

這裡寫圖片描述

然後我們開始新增Module,點選專案設定小按鈕

這裡寫圖片描述

app >Dependencies > + >3.Module dependency

這裡寫圖片描述

選擇Module

這裡寫圖片描述

然後就看到我們新增的Module了,然後點選ok

這裡寫圖片描述

Build專案中,等到Build完畢我們測試

這裡寫圖片描述

測試

這裡寫圖片描述

4. Gradle 直接新增法

找到build.gradle(Module:app),然後找到dependencies, 
這裡我們可以看到我們剛才新增的庫,剛才那個專案設定是和這裡是一一對應的。

這裡寫圖片描述

我們這裡以github上android 中Star最多的網路請求框架[android-async-http],我們來到它的官網,我們可以看到這樣一段描述:

這裡寫圖片描述

再看看上邊的那個圖,我們是不是可以直接複製下面的內容就可以了

<code class="hljs bash 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;">compile <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'com.loopj.android:android-async-http:1.4.5'</span></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></ul><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></ul>

這裡寫圖片描述

然後我們重新點選Build按鈕,然後開始測試 
(注意:這裡有時候build一兩次是不可以的,需要多build幾次,原因你懂得)

這裡寫圖片描述

測試

這裡寫圖片描述

5. 新增.so連結庫法

如果你的app需要整合百度地圖之類的,一定有這樣的so動態庫,這裡是我自己編譯的一個簡單的so庫,我們做測試:

這裡寫圖片描述

然後複製lib下的所有檔案,到AS的app > libs下

這裡寫圖片描述

然後找到build.gradle(Module:app) 檔案,在android節點下新增如下內容

<code class="language-java hljs  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;">sourceSets {
  main {
        jniLibs.srcDirs =[<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'libs'</span>]
    }
}</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><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul><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><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

這裡寫圖片描述

然後build一下

這裡寫圖片描述

看到如下說明成功構建了

這裡寫圖片描述

測試,使用jni給TextView賦值

這裡寫圖片描述

這裡寫圖片描述

這裡我們就測試成功了,下面我們講一種更加簡單粗暴的方法

6. 新增.so簡單粗暴法

直接建立一個jniLibs目錄就可以了,然後複製就好了 
路徑為:app > src > main >jniLibs

這裡寫圖片描述