Fork me on GitHub

Android Studio项目引入外部库注意事项(PullToRefresh)

  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/

posted @   秋楓  阅读(25887)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示