【转】 Volley NegativeArraySizeException 解决
http://blog.csdn.net/very_caiing/article/details/46241531
今天在百度统计看项目上有一个crash比较高的bug:
Java.lang.NegativeArraySizeException: -1092 at
com.Android.volley.toolbox.DiskBasedCache.streamToBytes(DiskBasedCache.java:322)
at
com.android.volley.toolbox.DiskBasedCache.get(DiskBasedCache.java:118)
at com.android.volley.CacheDispatcher.run(CacheDispatcher.java:100)
看出是volley的问题,google了一下,发现是volley有这个bug,github上有提到:
https://github.com/mcxiaoke/android-volley/issues/37
修改的代码如下:
https://github.com/mcxiaoke/android-volley/commit/2f317deb8c9cfdf349a9a3b7a90207c2bf5649b7
大致原因就是:当去磁盘缓存中找图片的时候,图片已经被删掉了。
更新Volley库的时候碰到了不少问题,下面简单说明一下……
我发现我们项目中是直接将volley.jar放在libs目录中,并没有将volley整个工程导入进来。于是网上搜索了一下,只需要以下几步:
$ git clone https://android.googlesource.com/platform/frameworks/volley
$ cd volley
$ android update project -p .
$ ant jar
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
于是安装了ant,并把android加入环境变量中,发现还是不行,会报以下的错误:
Error: D:\github_space\volley is not a valid project
(AndroidManifest.xml not found).
确实是没有这个文件,于是翻了好久,终于发现现在google已经用gradle来编译volley了,不是ant了。。。
终于,安装好gradle,结果,又出现下面的错误!!!
Gradle version 2.1 is required. Current version is 2.3. If using the
gradle wrapper, try editing the distributionUrl in
/Users/sunbinqiang/development/others/volley/gradle/wrapper/gradle-wrapper.properties
to gradle-2.1-all.zip
修改了build.gradle里面的SDK和tools信息,终于看到下面的结果了:
BUILD SUCCESSFUL
然后在”build\intermediates\bundles\release”找到classes.jar, 改名字。
以上。
【转】 Volley NegativeArraySizeException 解决的更多相关文章
- Android Volley彻底解决(三),定制自己Request
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17612763 经过前面两篇文章的学习,我们已经掌握了Volley各种Request ...
- myeclipse 遇到的一些问题及解决方案
1..提示键配置 一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多 ...
- 解决Volley请求网络数据返回的数据乱码
本人可参考http://tieba.baidu.com/p/4039693566 以往一般我们如下写就可以了 StringRequest request=new StringRequest(url, ...
- ym—— Android网络框架Volley(体验篇)
VolleyGoogle I/O 2013推出的网络通信库,在volley推出之前我们一般会选择比较成熟的第三方网络通信库,如: android-async-http retrofit okhttp ...
- [Android]Volley源码分析(四)
上篇中有提到NetworkDispatcher是通过mNetwork(Network类型)来进行网络访问的,现在来看一下关于Network是如何进行网络访问的. Network部分的类图:
- Android网络请求通信之Volley
一.Volley简介 Volley网络框架是Google公司在2013年发布的一款Android平台上的网络请求通信库.以下是对Volley的简单归纳. Volley的优点: 使网络通信更快.更简单. ...
- 重复发起Volley请求不要使用同一对象
1.创建volley请求Request request = new JsonObjectRequest(...); 2.添加到队列中mRequestQueue.add(request); reques ...
- Android Volley完全解析(一),初识Volley的基本用法
1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android 系统中主要提供了两种方式来进行 ...
- 教新手一步步解决:Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to和更新gradle问题
android studio出现问题:Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_O ...
随机推荐
- JQuery开发之Galleriffic图片插件介绍
Galleriffic是一个用于创建快速展示相册中照片的jQuery插件.从图一中可以看成,图片既可以以幻灯片的方式查看,也可以手动点击缩略图查看.Galleriffic还支持分页,从而使得它能够展示 ...
- NoSQL--非关系型的数据库是什么?
NoSQL,指的是非关系型的数据库.NoSQL,意即反SQL运动,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨.NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前 ...
- nginx upstream的分配方式
1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况. 例 ...
- hdu 5256 LIS变形
给一个数列,问最少修改多少个元素使数列严格递增.如果不是要求“严格”递增,那就是求最长不降子序列LIS,然后n-LIS就是答案.要严格递增也好办,输入的时候用每个数减去其下标处理一下就行了. /* * ...
- MySQL中批量插入数据
不管怎么样, 你需要大量的数据, 那么问题来了, 怎么快速地插入呢? 1. 这是我创建的一个批量插入的存储过程… 当然, 你可以把参数去掉, 一次性插入1W, 10W… CREATE DEFINER= ...
- Winsock IO模型之select模型
之所以称其为select模型是因为它主要是使用select函数来管理I/O的.这个模型的设计源于UNIX系统,目的是允许那些想要避免在套接字调用上阻塞的应用程序有能力管理多个套接字. int sele ...
- .NET异步编程初识async与await
这是两个关键字,用于异步编程.我们传统的异步编程方式一般是Thread.ThreadPool.BeginXXX.EndXXX等等.把调用.回调分开来,代码的逻辑是有跳跃的,于是会导致思路不是很清晰的问 ...
- python 抽象类、抽象方法的实现
由于python 没有抽象类.接口的概念,所以要实现这种功能得abc.py 这个类库,具体方式如下 from abc import ABCMeta, abstractmethod #抽象类 class ...
- 安装phonegap
1.安装nodejs http://nodejs.org/ 2.安装git www.git-scm.com/download 3.安装jdk http://www.oracle.com/technet ...
- dom 关键字提示
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...