bug_ _ _常见的bug??
======= 7 Failure [INSTALL_FAILED_INVALID_APK]
执行 adb install -r test.apk。时出现错误 Failure [INSTALL_FAILED_INVALID_APK]
可能是apk的签名出现问题,这个在之前遇到过,需要给apk签名
今天安装多个apk都是出现这个错误,遂关闭系统对签名的检测
方法:修改 /system/build.prop 文件。
将ro.install.3rd_cert=true
修改为ro.install.3rd_cert=false
重启设备就可以安装apk了
=========6 安装失败:INSTALL_FAILED_VERIFICATION_FAILURE? Install_failed_verifcation_failure?
你必须允许未签名的应用。安装被Android。允许设置非市场的应用程序安装。
=========5 关于魅族MX3无法弹出Toast的问题
设置->应用->你的应用,里面有一个显示通知的选项,打上勾,应该就可以了,你试一下
========== 4.3 Segmentation fault 问题浅谈
今天调试程序时遇到了一个问题,当我用GDB调试程序时出现了Segmentation fault,以前没有遇到过,最后查看资料,有点明白了。
出现了Segmentation fault,基本上的原因是,非法的内存访问。
例如数组的越界,在循环操作时循环变量的控制问题,也有字符串拷贝时长度溢出,指针指向了非法的空间,还有就是申明一个指针,但却没有对其初始化,就直接引用,或者没有开辟内存空间就释放内存,所以要检查申请空间时间偶成功。。。
还有那个问题在调试时会有这样的信息:Program terminated with signal SIGSEGV, Segmentation fault.
对于SIGSEGV这个信号,经常会和SIGBUS信号出现在一块,
1) SIGBUS(Bus error)意味着指针所对应的地址是有效地址,但总线不能正常使用该指针。
通常是未对齐的数据访问所致。
2) SIGSEGV(Segment fault)意味着指针所对应的地址是无效地址,没有物理内存对应该地址。
这些是我个人的一些看法,希望和大家交流。。。
======= 4。2 java 异常java.lang.UnsupportedOperationException
在项目中采用一个枚举的集合,本人采用Collections中的空集合Collections.emptyList()在添加时发生异常:
常见集合如下:
private List<VacationCategory> vacationcategorys = Collections.emptyList();
报错误如下:
-- Encapsulated exception ------------\
java.lang.UnsupportedOperationException
..............................
JDK API解释如下:
java.lang.CloneNotSupportedException
不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。
在网上查一下原因是因为部分集合类型一样但是缺少部分方法或不支持。
如特殊情况如下:
(1)常常使用Arrays.asLisvt()后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常。这是由于:
Arrays.asLisvt() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,remove,add等method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。ArrayList override这些method来对list进行操作,但是Arrays$ArrayList没有override remove(int),add(int)等,所以throw UnsupportedOperationException。
解决方法是使用Iterator,或者转换为ArrayList
List arrayList = new ArrayList(list);
(2)
private List<VacationCategory> vacationcategorys = Collections.emptyList();
执行remove,add等method时,抛出此异常,本人将上述代码改为:
private List<VacationCategory> vacationcategorys = new ArrayList<VacationCategory>();
没有此错误,于是我查看一下源代码:
源码如下:此类在Collections的类中:
EmptyList此集合竟然没有相应的add,remove等方法
========== 4.1 Caused by: java.lang.IllegalArgumentException: Invalid path: /mnt/sdcar
E/AndroidRuntime( 2766): Caused by: java.lang.IllegalArgumentException: Invalid path: /mnt/sdcard
E/AndroidRuntime( 2766): at android.os.StatFs.doStat(StatFs.java:46)
E/AndroidRuntime( 2766): at android.os.StatFs.(StatFs.java:39)
E/AndroidRuntime( 2766): Caused by: libcore.io.ErrnoException: statfs failed: EIO (I/O error)
try {
StatFs f = new StatFs(path);
BigInteger freeBig = BigInteger.valueOf(f.getFreeBlocks())
.multiply(BigInteger.valueOf(f.getBlockSize()));
BigInteger sizeBig = BigInteger.valueOf(f.getBlockCount())
.multiply(BigInteger.valueOf(f.getBlockSize()));
.......................
} catch (Exception e) {
LogUtils.e("e ----------------------yyyyyyyyyyyyyyyyyyyyyyyyy = " + e.toString());
}
不多说了, 添加try ,可以解决上面异常。
发现在使用 Canvas.clipPath() 方法的时候,3.0版本以下可以正常使用,但是3.0以上由于谷歌默认开启了硬件加速,
就会抛 java.lang.unsupported operation exception, android.view.GLES20Canvas.clipPath(GLES20Canvas... 的异常,可以关闭硬件加速,但是最低编译版本就要换成3.0,所以2.X 的机器就用不了这个应用,后来搜索发现可以给View设置关闭硬件加速,但是翻页效果是直接画出来的,没有View...
解决方法 1:
使用以下代码:
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
Gma_CustomImage.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
====
最近在做一个电子书项目,想要把开源的Shelves+iReader的翻页卷曲等弄到一起,在做卷曲效果时遇到以下问题:
java.lang.unsupported operation exception, android.view.GLES20Canvas.clipPath(GLES20Canvas...
万能的谷哥告诉我,这是硬件加速的问题,可是我从来没开启过硬件加速啊,做了个测试,View层的硬件加速已经干掉了
,那硬件加速肯定来自于Canvas绘制层了,测试了下,果然是绘制层开启了硬件加速。
给一个链接,讲硬件加速讲的很清楚的文章:点击查看
综合看了之后解决了,即在AndroidManifest.xml application下设定:
<application
android:label="@string/application_name"
android:hardwareAccelerated="false">
---------------------------------------------------------------------------------------------------------------------------------------------
关于 Hardware Acceleration
1、不同层级的加速:
Application
<applicationandroid:hardwareAccelerated="true" ...>
Activity
<application android:hardwareAccelerated="true">
<activity ... />
<activity android:hardwareAccelerated="false" />
</application>
Window
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
View
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2、如何判断是否开启了硬件加速
在绘制之前,你必须做该测试 Canvas.isHardwareAccelerated() 替代View.isHardwareAccelerated() 在必要时。
View.isHardwareAccelerated() ;//returns true if the View is attached to a hardware accelerated window.
Canvas.isHardwareAccelerated();// returns true if the Canvas is hardware accelerated
3、开启硬件加速之后,许多2D的绘制方法会抛出异常:

- Canvas
- Paint
- Xfermodes
In addition, some operations behave differently with hardware acceleration enabled:
- Canvas
clipRect():XOR,DifferenceandReverseDifferenceclip modes are ignored. 3D transforms do not apply to the clip rectangledrawBitmapMesh(): colors array is ignored
- Paint
setDither(): ignoredsetFilterBitmap(): filtering is always onsetShadowLayer(): works with text only
- PorterDuffXfermode
PorterDuff.Mode.DARKENwill be equivalent toSRC_OVERwhen blending against the framebuffer.PorterDuff.Mode.LIGHTENwill be equivalent toSRC_OVERwhen blending against the framebuffer.PorterDuff.Mode.OVERLAYwill be equivalent toSRC_OVERwhen blending against the framebuffer.
- ComposeShader
ComposeShadercan only contain shaders of different types (aBitmapShaderand aLinearGradientfor instance, but not two instances ofBitmapShader)ComposeShadercannot contain aComposeShader

=========3 com.google.gson.stream.MalformedJsonException的解决办法
关于Gson解析的异常,我花费两个小时才调试出来。如果你程序出现以下的异常,有两种可能性:‘
1. 找到一个JSON格式的验证工具,这个网上很多大家可以百度下
2.你的JSON格式验证没有问题,却一直报这个解析错误,请确定你的JSON数据没有多余的空格。这个空格有可能在IO流读取的时候多读了
- com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 33
- at com.google.gson.Gson.assertFullConsumption(Gson.java:779)
- at com.google.gson.Gson.fromJson(Gson.java:769)
- at com.google.gson.Gson.fromJson(Gson.java:717)
- at com.google.gson.Gson.fromJson(Gson.java:689)
- at com.ant.Test.main(Test.java:24)
- Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 33
- at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505)
- at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1386)
- at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:531)
- at com.google.gson.stream.JsonReader.peek(JsonReader.java:414)
- at com.google.gson.Gson.assertFullConsumption(Gson.java:775)
- ... 4 more
=======2 Error:(1, 0) Plugin with id 'com.android.application' not found.
在build.gradle文件里加入
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0+'
}
} allprojects {
repositories {
jcenter()
}
}
=========1 ,java.lang.UnsupportedOperationException 解决方案
常常使用Arrays.asLisvt()后, 调用add,remove这些method时出现 java.lang.UnsupportedOperationException异常。
这是由于:
Arrays.asLisvt() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,remove,add等 method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。
ArrayList override这些method来对list进行操作,但是Arrays$ArrayList没有override remove(int),add(int)等,所以throw UnsupportedOperationException。
解决方法是使用Iterator,或者 转换为ArrayList
List list = Arrays.asList(a[]);
List arrayList = new ArrayList(list);
bug_ _ _常见的bug??的更多相关文章
- Otto Product Classification Winner's Interview: 2nd place, Alexander Guschin ¯\_(ツ)_/¯
Otto Product Classification Winner's Interview: 2nd place, Alexander Guschin ¯\_(ツ)_/¯ The Otto Grou ...
- ie6下常见的bug 调整页面兼容性
ie6下常见的bug 我们布局页面,首先符合标准,如何写一个页面的标准性? 但是ie6等浏览器本身就比较特殊,bug比较多,兵法云,知己知彼百战百胜.我们需要了解ie6的一些常见bug,这样,更好的调 ...
- 问题:计算foldRight(1)(_-_) 与foldLeft(1)(_-_)值不一样
List(1,2,3,4)问题:计算foldRight(1)(_-_) 与foldLeft(1)(_-_)值不一样首先看foldRight(1)(_-_)计算过程((( (1-1)-2)-3)-4) ...
- 常见的bug
常见bug 一. Android系统功能测试设计的测试用例: a.对所测APP划分模块 b.详细列出每个模块的功能点(使用Xmind绘制功能图) c.使用等价类划分.边界值.场景法等对各功能点编写测试 ...
- 常见浏览器bug(针对IE6及更低版本)及其修复方法
常见bug及其修复方法有以下几种 1.双外边距浮动bug 双外边距浮动bug在IE6及更低版本中常见.所谓双外边距浮动bug是指使任何浮动元素上的外边距加倍.(见下图) 只要将元素的display属性 ...
- Spark Scala当中reduceByKey(_+_) reduceByKey((x,y) => x+y)的用法
[学习笔记] reduceByKey(_+_)是reduceByKey((x,y) => x+y)的一个 简洁的形式*/ val rdd08 = sc.parallelize(List((1, ...
- pyppeteer使用时常见的bug及基本使用(转)
pyppeteer使用时常见的bug及解决办法: https://blog.csdn.net/Mr__lqy/article/details/102626025 pyppeteer的基本使用: htt ...
- 你可能不知道的 NaN 以及 underscore 1.8.3 _.isNaN 的一个 BUG
这篇文章并不在我的 underscore 源码解读计划中,直到 @pod4g 同学回复了我的 issue(详见 https://github.com/hanzichi/underscore-analy ...
- JS模式:Mixin混合模式,=_=!就是常见的Object.create()或者_extend()
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- MVC 知识点学习1
1.@Scripts.Render("~/bundles/kindeditor");@Styles.Render("~/Css/") //(加载)引用bun ...
- RoR简单的应用程序
在dos环境下执行找到需要新建的项目路径 输入命令rails -v #查看版本号
- onTouch与onClick冲突解决方法
view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent ...
- jQuery 遍历 - each() 方法
定义和用法 each() 方法规定为每个匹配元素规定运行的函数. 提示:返回 false 可用于及早停止循环. 语法 $(selector).each(function(index,element)) ...
- Elasticsearch Network Settings
网络设置 Elasticsearch 缺省情况下是绑定 localhost.对于本地开发服务是足够的(如果你在相同机子上启动多个节点,它还可以形成一个集群),但是你需要配置基本的网络设置,为了能够在实 ...
- js 递归学习
作用:将一些复制的算法变为简单,比如:(举例子)计算数组 var a =[1,3,4,6,7,8]的长度:求 5!的值,也可以做搜索用等. //求数组的长度function len(arry){ i ...
- 转载《Android Handler、Message》
之前也是由于周末通宵看TI3比赛,一直没找到时间写博客,导致已经有好久没更新了.惭愧!后面还会恢复进度,尽量保证每周都写吧.这里也是先恭喜一下来自瑞典的Alliance战队夺得了TI3的冠军,希望明年 ...
- Oracle--用变量保存查询出来的值
1:在我们一般编写存储过程中比较常见的是,习惯将查询出来的一个值赋值给一个变量,这个如何实现呢,用into,代码如下 Select ID into 变量1 from 表 where 条件 2:但当 ...
- java 枚举类型 构造函数及用法
// 1. 定义枚举类型 public enum Light { // 利用构造函数传参 RED (1), GREEN (3), YELLOW (2); // 定义私有变量 private int n ...
- CefSharp 初用遇到的一些问题及解决方法
之前用WebBrowser,打开网页很卡,但因为并是太要求速度和体验,所以可以显示html就可以了.但是,现在要求显示速度,最主要问题是WebBrowser控件的UserAgent,其实并不完全是IE ...