解决appcompat中各种奇葩的错误

一、依赖/脱离appcompat

在新版本中Google跟新了一个依赖包,这个包包含了v4和v7的东西,只要你的编译版本compile with是4.0即以上,那么就会默认依赖这个appcompat包,反正你是没办法脱离它了。如果非要脱离他你可以建立一个编译版本是2.3,2.2之类的应用,这样就不会依赖这个包了。

根据实际经验,我们不可能再去建立一个2.x平台的应用,所以我们必须要好好和这个appcompat相处。于是就应该明白下面几点:

1.appcompat删掉后会出错,新建工程后它会自动生成

2.appcompat会影响你的R文件,你取消依赖的时候很可能丢失R文件。解决方式是将xml文件错误删除或者修改,然后才能重新获得R文件

3.appcompat有自己的属性,如果你定义的attribute属性和它重名了,那么就必须要更换名字。这就是android蛋疼的一点,应该注意。

4.appcompat有自己的编译版本,如果它的版本高,你的程序版本低,这样你在依赖的时候会出现找不到资源的问题。所以请保持一致或者比它编译版本高即可。当然你也可以修改它的编译版本。

二、supportV4包冲突

程序报错说应用中的v4和appcompat中的v4不一致。这个很常见,因为appcompat中经常更新,所以很容易出现不一致。解决思路是解除依赖关系,删除自己的v4,然后进入构建路径->库->删除私有的库,最后重新添加依赖即可。当然关键点是尽量不要让xml文件中出现错误,这样很难重新生成R文件的。

三、appcompat中资源错误

出现这个错误基本上是跟新所致,因为更新了新的资源文件,但你的appcompat编译版本还是旧的,在appcompat属性中提高它的编译版本然后清理下即可解决此问题。但随之而来的是依赖它的工程也会出现这样的问题,也必须提高编译版本。当然你也可以保留之前没升级过的appcompat,具体看情况而定吧。

时间: 2025-01-15 18:36:31

解决appcompat中各种奇葩的错误的相关文章

解决latex中遇到一个常见错误:"Improper alphabetic constant."

1.问题: 本人是在WIN7下用texlive 2016,编辑器用的是WinEdt 10.1 ,运行如下代码: 1 \documentclass{ctexbook} 2 \begin{document} 3 \title{中文 \LaTeX{} 测试} 4 \author{姓名} 5 \maketitle 6 \tableofcontents 7 \chapter{测试} 8 中文测试. 9 \chapter{再测试} 10 中文测试. 11 \end{document} 返回如下错误: ! I

解决MyEclipse中导入项目@Override错误

做项目的时候,同事那边电脑上编译通过的java代码,或者是网上下载的样例代码,导入工程后却是编译不通过,总是@override报错,把@override去掉就好了,有时候@Override出现的地方很多,要全部删除@Override很繁琐很吐血,不能从根本上解决问题.网上找了一下原因,才知道: 据说这是jdk的问题,@Override是JDK5就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可

java配置ueditor中解决“未找到上传文件”错误提示

ueditor是一个功能十分强大的在线文本编辑器,但是在ssh框架中,确切的说实在struts2中由于其拦截器需要对request,session对象进行重新封装,这个过程中会把request对象中保存的一些内容清空,所以会导致ueditor的上传功能获取不到需要上传的内容导致“未找到上传文件”的错误! 参考网上资料和自己实验,最终的解决思路是,重写struts2中的一个转换的类,然后配置struts2使用我们重写的这个类.由于我们的工程中可能会有其他的上传等功能,为了不影响其他功能的时候,还需

C语言中常见的内存错误与解决方法

常见的错误 关于内存的一些知识已在内存分配中提及,现记录与分享常见的内存错误与对策. 类型 1:内存未分配成功,却使用了它. 方   法:在使用之前检查指针是否为NULL. 1)当指针p是函数的参数时,在函数入口处用语句assert(p!=NULL)进行断言检查. 2)当使用malloc或new来申请内存时,应该用if(p != NULL)进行防错检查. 类型 2:引用了尚未初始化的指针 原   因:内存的缺省初始值究竟是什么并没有统一的标准,在使用之前都进行初始化. 1)没有初始化的观念. 2

bash脚本中出现[[:not found错误的解决方法

bash脚本中出现[[:not found错误的解决方法--bash脚本总结1 今天在写脚本的时候,发生了一个奇怪的问题:在脚本中使用[[的时候报错“[[: not found”.遇到问题自然是解决问题. 1. 使用的bash版本太低? bash --version查看bash版本信息如下 [email protected]:~$bash --version GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu) Copyright (C)

编程中遇到的Python错误和解决方法汇总整理

这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下 开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习.知识在于积累嘛!微笑+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++错误: 复制代码代码如下: >>> def f(x, y):      print x, y  >>> t

如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误

原文:如何解决FormView中实现DropDownList连动选择时出现 "Eval().XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误 FormView控件是可及显示.修改.添加.删除为一体的控件,感觉很好用,可是昨天发现了一个可以说是它的一个Bug吧,我是想要实现下拉框的联动效果,比如在A下拉框选择了省对应B的下拉框会把对应A中省的市显示在B下拉框中,我想要实现的是校区和对应校区建筑的联动效果,单纯的这种效果很好实现比如下面的代码  

关于CUDA C 项目中“ error C2059: 语法错误:“<” ”问题的解决方法

该问题的关键在于理解CUDA项目中C\C++文件需要由c++编译器进行编译,而CUDA C的源文件需要由CUDA的编译器nvcc.exe进行编译. 发生该语法错误的原因是cu文件被C++编译器所编译,C++编译器无法识别 "<<<",导致报错. 为什么cu文件会被C++编译器所编译呢?原因在于我们使用#include将cu文件包含到了C++文件中.对于#include的用途,更简单的理解就是把几个文件合并成一个文件,所以,当编译C++文件中,包含其中的cu文件也会被编

解决Webpack中提示syntax &#39;classProperties&#39; isn&#39;t currently enabled的错误

当我们使用了一些JavaScript的一些新特性的时候,但是有没有在webpack.config.js里面或者是.babelrc文件中配置相关插件,就可以解决了. error:Support for the experimental syntax 'classProperties' isn't currently enable 解决方案:安装如下插件 npm i -D @babel/plugin-proposal-class-properties 在babelrc中配置插件: options: