1. 程式人生 > >Android Studio匯入SlidingMenu的兩種方法(超詳細)

Android Studio匯入SlidingMenu的兩種方法(超詳細)

方法1

匯入aar

順道解析一下在Android studio中,有兩種方式: 
一種是jar包,一種是帶資原始檔的aar包。

jar: 只包含了class檔案與清單檔案 ,不包含資原始檔,如圖片等所有res中的檔案。 
aar: 包含jar包和資原始檔,如圖片等所有res中的檔案

1、複製aar檔案到app目錄下的libs

這裡寫圖片描述

2、修改app的gradle

開啟你的app下面的build.gradle, 在dependencies上面新增下面程式碼:

<code class="hljs bash has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">repositories {
    flatDir { <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">dirs</span> <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; background-color: rgb(238, 238, 238); 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;"><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></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); 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;"><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></ul>

程式碼的意思大概就是 新增一個本地倉庫,把libs目錄作為倉庫的地址 
這裡寫圖片描述

3、修改dependencies

修改app的build.gradle 裡面的dependencies,新增下面的程式碼:

<code class="hljs scss has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">    <span class="hljs-function" style="box-sizing: border-box;">compile(name: <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'sliding_menu_lib'</span>, ext: <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'aar'</span>)</span>
</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); 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;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); 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;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

這裡寫圖片描述

4、點選右上角的Syns Now 即刻重新整理

然後就可以正常使用了

方法2

把庫作為一個module匯入.

1、首先拷貝SlidingMenu的library資料夾到你專案的根目錄下

我這裡改了library的名字為sliding_menu_lib 
這裡寫圖片描述

2、修改setting.gradle

在專案的setting.gradle裡面新增module名字

<code class="hljs ruby has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">include</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">':app'</span>,<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">':sliding_menu_lib'</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); 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;"><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; background-color: rgb(238, 238, 238); 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;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

這裡寫圖片描述

3、修改app目錄下的build.gradle

新增引用module

<code class="hljs scss has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">    compile <span class="hljs-function" style="box-sizing: border-box;">project(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">':sliding_menu_lib'</span>)</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); 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;"><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; background-color: rgb(238, 238, 238); 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;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

這裡寫圖片描述

4、點選右上角的Sync Now

這個步驟就是讓as 自動為SlidingMenu自動生成gradle,但是預設會報錯,繼續修改 
這裡寫圖片描述

5、修改sliding_menu_lib的build.gradle

開啟liding_menu_lib目錄下的build.gradle修改

這裡寫圖片描述

右邊的箭頭是需要修改的,

dependencies的classpath 改為你 專案根目錄的build.gradle的dependencies的classpath

apply plugin: ‘android-library’ 改為apply plugin: ‘com.android.library’

compileSdkVerSion和buildToolsVersion和targetSdkVersion 就改為你app目錄下的build.gradle裡面那樣的配置就行了

6、我改完就是這樣的,然後點選右上角的Try again,重新重新整理專案

這裡寫圖片描述

7、繼續修改錯誤

重新整理之後 還會報錯,看圖

這裡寫圖片描述

是方法過時,修改方法就是把第一個紅色箭頭的FloatMath改為Math,重新編譯就行了

這裡寫圖片描述