Android Studio開發App項目時引入第三方庫是個比較麻煩的事情。之前導入Volley就折騰了好久,導入下拉刷新控件PullToRefresh時又碰到了各種問題。在此記錄一下,以便查閱。
一、導入PullToRefresh
1、將PullToRefresh克隆到本地
git clone https://github.com/chrisbanes/Android-PullToRefresh
2、克隆到本地后library目錄復制到app同級目錄下,並將名稱改為PullToRefresh
3、在項目根目錄下的settings.gradle下添加第三方庫目錄
include ':app', ':PullToRefresh'
4、在app/build.gradle下添加編譯依賴
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:23.0.1' compile project(':PullToRefresh') }
5、在PullToRefresh目錄下添加build.gradle
apply plugin: 'android-library' android { compileSdkVersion 23 buildToolsVersion "23.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['aidl'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } }
6、最后別忘記Sync Now和Rebuild(Build-->Rebuild Project)
二、例子:
可查看sample目錄下的例子,也可查看測試例子:https://github.com/chrisbanes/Android-PullToRefresh/wiki/Quick-Start-Guide
三、常見問題:
1、路徑不對
14:59:54 Gradle sync failed: Configuration with name 'default' not found. Consult IDE log for more details (Help | Show Log)
導致這種問題是由於
a、settings.gradle包含了不正確的目錄:include ":目錄名"
b、app目錄下build.gradle文件目錄不正確:compile project(':目錄名')
c、引入的第三方庫下是否包含build.gradle文件
2、編譯器版本不對
Error:A problem occurred configuring project ':PullToRefresh'. > failed to find target with hash string 'android-17' in: D:\Users\ibm\AppData\Local\Android\sdk <a href="openAndroidSdkManager">Open Android SDK Manager</a>
這只需要將第三方庫中build.gradle下編譯器版本改成和工程項目的一致即可。
如,項目的編譯器版本為
compileSdkVersion 23
buildToolsVersion "23.0.0"
如果下稱如下版本,則會出現以上異常。
compileSdkVersion 17
buildToolsVersion "21.1.2"
更多內容見:https://github.com/chrisbanes/Android-PullToRefresh/