PullToRefresh下拉刷新在App中应用非常频繁,然而PullToRefresh是在ADT下开发完成的。如果要将其整合到Android Studio目录下的话颇费周折。前面的文章“Android Studio项目引入外部库注意事项(PullToRefresh)”介绍了如何将PullToRefresh的library引入到项目中。如果想直接运用PullToRefresh的例子的话还需要引入extras下的PullToRefreshListFragment和PullToRefreshViewPager两个库。

  然而,PullToRefreshListFragment和PullToRefreshViewPager两个库的引入却大动干戈。其实问题不大,只是对Gradle不熟悉,折腾了好久才知道问题所在。记录如下:

  1、包重复引入

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\Program Files\Java\jdk1.8.0_60\bin\java.exe'' finished with non-zero exit value 2

  将android-support-v4.jar包删除以后又报如下异常:

D:\AndroidStudioProjects\AndoridNewsApp\PullToRefreshExtras\PullToRefreshListFragment\src\com\handmark\pulltorefresh\extras\listfragment\PullToRefreshBaseListFragment.java
Error:(19, 30) 错误: 程序包android.support.v4.app不存在
Error:(28, 106) 错误: 找不到符号
符号: 类 ListFragment
Error:(32, 2) 错误: 方法不会覆盖或实现超类型的方法
Error:(34, 17) 错误: 找不到符号
符号:   变量 super
位置: 类 PullToRefreshBaseListFragment<T>
其中, T是类型变量:
T扩展已在类 PullToRefreshBaseListFragment中声明的PullToRefreshBase<? extends AbsListView>

  解决办法:

    a、将extras\PullToRefreshListFragment\libs下的android-support-v4.jar删除

    b、添加包依赖( File --> project structure --> dependencies )

    也可以直接在extras\PullToRefreshListFragment\build.gradle中的dependencies下直接添加compile 'com.android.support:support-v4:23.0.1'

dependencies {compile fileTree(include: ['*.jar'], dir: 'libs')compile project(':PullToRefresh')compile 'com.android.support:support-v4:23.0.1'
}

  2、最小sdk版本

Error:Execution failed for task ':PullToRefreshExtras:PullToRefreshListFragment:processDebugAndroidTestManifest'.
> java.lang.RuntimeException: Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 4 declared in library [AndoridNewsApp:PullToRefresh:unspecified] D:\AndroidStudioProjects\AndoridNewsApp\PullToRefreshExtras\PullToRefreshListFragment\build\intermediates\exploded-aar\AndoridNewsApp\PullToRefresh\unspecified\AndroidManifest.xmlSuggestion: use tools:overrideLibrary="com.handmark.pulltorefresh.library" to force usage

  在extras\PullToRefreshListFragment\build.gradle中最小sdk版本设置

android {......//其它配置
defaultConfig {minSdkVersion 14targetSdkVersion 23}......//其它配置
}

  最终extras\PullToRefreshListFragment\build.gradle如下:

apply plugin: 'com.android.library'
android {compileSdkVersion 23buildToolsVersion "23.0.0"defaultConfig {minSdkVersion 14targetSdkVersion 23}sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']aidl.srcDirs = ['aidl']renderscript.srcDirs = ['src']res.srcDirs = ['res']assets.srcDirs = ['assets']}}
}dependencies {compile fileTree(include: ['*.jar'], dir: 'libs')compile project(':PullToRefresh')compile 'com.android.support:support-v4:23.0.1'
}

Android Studio项目整合PullToRefresh的问题记录相关推荐

  1. 基于Android平台的记事本软件(Android Studio项目+报告+app文件)

    移动应用开发技术 期末考核报告 题   目:        基于Android平台的记事本软件             学生姓名     学生学号                           ...

  2. java adt怎么打开项目,如何在Eclipse中打开Android Studio项目?

    慕的地6264312 将Android Studio项目导入Eclipse的分步过程 ...使用向导在eclipse中启动新的Android项目,并从app / build.gradle中填写以下详细 ...

  3. 如何导入别人的android studio项目,解决gradle版本不兼容问题

    如何导入别人的android studio项目,解决gradle版本不兼容问题 参考文章: (1)如何导入别人的android studio项目,解决gradle版本不兼容问题 (2)https:// ...

  4. Android Studio项目结构

    我们创建了一个Android Project,打开就如下图所示:  我们选择Project视图,就会有以下的项目文档结构:  上面笔者标注的数字是接下来要讲解的内容.  我们先来看1:  我们创建Ap ...

  5. Android Studio项目转Eclipse项目

    Android Studio项目的目录结构和Eclipse项目不同.如何转换? 以FloatingAction 项目为例:实现向上滑动隐藏悬浮按钮,向上滑动显示悬浮按钮. GitHub 地址:http ...

  6. android 不同项目代码合并在一块,android - 是否可以将两个(正在积极开发中的)Android应用程序模块合并到同一个Android Studio项目中? - 堆栈内存溢出...

    我有两个工作正常的Android应用程序模块A和B,与同一个Android Studio项目相同. 它们每个都可以单独构建和运行. 但是如果我通过指定将模块A添加为"模块依赖项" ...

  7. Android Studio(五):修改Android Studio项目包名

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  8. 打开android studio项目,为什么我们没有一个文件来打开Android Studio项目?

    为什么我们的 Android Studio项目没有类似.xcodeproj(对于XCode应用程序)或.xds(对于Sencha Architect Projects)的文件? 我很确定你们这里的很多 ...

  9. android studio项目改成android.mk编译APP闪退java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader

    android9系统android studio项目改成用android.mk编译v7包--APP闪退java.lang.UnsatisfiedLinkError: dalvik.system.Pat ...

最新文章

  1. MySQL优化篇:单表索引失效
  2. 围观|第一代云原生企业米哈游如何让想象发生?
  3. 记录navigator实现不同设备页面跳转
  4. JForum二次开发(一)
  5. android 脚本引擎,GitHub - PassByYou888/zExpression: 脚本与编译器内部的语法引擎内核,也是一种op内核,zExpression可以轻松实现自己的脚本引擎...
  6. PHP规范之PSR-1
  7. matlab算法用python做_机器学习笔记—朴素贝叶斯算法实现(matlab/python)
  8. Gram-Schmidt正交化
  9. Atitit mvc之道 attilax著 以vue为例 1. Atitti vue的几大概念 1 1.1. 声明式渲染 1 1.2. 条件与循环 2 1.3. 处理用户输入 click事件 2 1
  10. 计算机网络管理员中级试题及解析,计算机网络管理员中级考试题及答案(一)(1)...
  11. 降雨量等值线图(一)——底图整饬
  12. 共享打印机服务器脱机状态,网络/局域网共享打印机脱机故障处理方法
  13. 2022双十一最亮投影仪推荐,当贝X3激光投影3200ANSI流明超高亮度
  14. 【JAVA】360-2021校招笔试-技术综合A卷-0911
  15. 代理模式Proxy——在线代理
  16. 随机算法求pi、线性同余法求random、拉斯维加斯算法python
  17. opencv 图像的变换
  18. 学生宿舍管理mysql设计_学生宿舍管理系统设计与实现(SSH,MySQL)
  19. 智慧党建系统开发建设
  20. 图解AUTOSAR(六)——服务层(Service Layer)、复杂驱动(Complex Drivers)

热门文章

  1. C++:34---union:联合/共用体,一种节省空间的类
  2. caffe各层参数详解
  3. 《C++ Primer 5th》笔记(6 / 19):函数
  4. Java JUC工具类--Future
  5. U盘版便携式Linux制作, casper-rw 解析
  6. 运算符优先级 必熟记,放到心里
  7. 分享11款主流的开源编程工具
  8. Windows系统使用minGW+msys 编译ffmpeg 0.5的全过程详述
  9. cygwin/gcc与MinGW
  10. Maven Helper 安装使用(jar 包管理工具)