博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Studio项目整合PullToRefresh的问题记录
阅读量:7090 次
发布时间:2019-06-28

本文共 3026 字,大约阅读时间需要 10 分钟。

 PullToRefresh下拉刷新在App中应用非常频繁,然而PullToRefresh是在ADT下开发完成的。如果要将其整合到Android Studio目录下的话颇费周折。前面的文章“”介绍了如何将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.javaError:(19, 30) 错误: 程序包android.support.v4.app不存在Error:(28, 106) 错误: 找不到符号符号: 类 ListFragmentError:(32, 2) 错误: 方法不会覆盖或实现超类型的方法Error:(34, 17) 错误: 找不到符号符号:   变量 super位置: 类 PullToRefreshBaseListFragment
其中, T是类型变量:T扩展已在类 PullToRefreshBaseListFragment中声明的PullToRefreshBase

  解决办法:

    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.xml    Suggestion: use tools:overrideLibrary="com.handmark.pulltorefresh.library" to force usage

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

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

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

apply plugin: 'com.android.library'android {    compileSdkVersion 23    buildToolsVersion "23.0.0"    defaultConfig {        minSdkVersion 14        targetSdkVersion 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'}
本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4903027.html,如需转载请自行联系原作者
你可能感兴趣的文章
html之object标签的classid收集
查看>>
JSP放入Jar包支持
查看>>
润乾报表使用json数据源的方法改进
查看>>
小蚂蚁学习PS切图之基础操作(2)——工具栏的介绍
查看>>
【Mybatis】- sqlSession工作流程
查看>>
mysql str_to_date字符串转换为日期
查看>>
jsp---EL运算符
查看>>
剥去中国崛起的外衣(画皮)!
查看>>
Oracle中的substr方法
查看>>
Mysql日期和时间函数总结
查看>>
创建逻辑卷 安装lvm命令
查看>>
不使用root身份运行Wireshark
查看>>
PageRank算法计算网页的价值
查看>>
js面向对象
查看>>
DEDECMS 修改广告链接地址
查看>>
抓住“扁平化”
查看>>
Python中method的参数传递详解
查看>>
Skia深入分析1——skia上下文
查看>>
Tiny Jpeg Decoder (JPEG解码程序) 源代码分析 1:解码文件头
查看>>
windows Server2008 下部署nginx
查看>>