Android Studio匯入SlidingMenu的兩種方法(超詳細)
阿新 • • 發佈:2019-02-14
方法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,重新編譯就行了