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 解决的更多相关文章

  1. Android Volley彻底解决(三),定制自己Request

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17612763 经过前面两篇文章的学习,我们已经掌握了Volley各种Request ...

  2. myeclipse 遇到的一些问题及解决方案

    1..提示键配置 一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多 ...

  3. 解决Volley请求网络数据返回的数据乱码

    本人可参考http://tieba.baidu.com/p/4039693566 以往一般我们如下写就可以了 StringRequest request=new StringRequest(url, ...

  4. ym—— Android网络框架Volley(体验篇)

    VolleyGoogle I/O 2013推出的网络通信库,在volley推出之前我们一般会选择比较成熟的第三方网络通信库,如: android-async-http retrofit okhttp ...

  5. [Android]Volley源码分析(四)

    上篇中有提到NetworkDispatcher是通过mNetwork(Network类型)来进行网络访问的,现在来看一下关于Network是如何进行网络访问的. Network部分的类图:

  6. Android网络请求通信之Volley

    一.Volley简介 Volley网络框架是Google公司在2013年发布的一款Android平台上的网络请求通信库.以下是对Volley的简单归纳. Volley的优点: 使网络通信更快.更简单. ...

  7. 重复发起Volley请求不要使用同一对象

    1.创建volley请求Request request = new JsonObjectRequest(...); 2.添加到队列中mRequestQueue.add(request); reques ...

  8. Android Volley完全解析(一),初识Volley的基本用法

    1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android 系统中主要提供了两种方式来进行 ...

  9. 教新手一步步解决: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 ...

随机推荐

  1. Java 与无符号那些事儿

    最近在使用 Java 作为 WebSocket 客户端连接 Node.js 的 WebSocket 服务器的时候,由于使用的客户端库比较老,所以遇到了字节符号的问题,上网查了一下,看到这篇文章写的很有 ...

  2. delphi TClientDataSet 保存到XML

    procedure ExPortNodeQuantifyComponent1(aCDS: TClientDataSet; aCurrNode: TXMLNode); var mStream: TMem ...

  3. 【LeetCode 235】Lowest Common Ancestor of a Binary Search Tree

    Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BS ...

  4. Android百度地图开发(三)范围搜索

    // 1.新建项目 将地图API添加进classpath中: 2.在activity_main.xml中添加一个MapView,用来显示地图: <LinearLayout xmlns:andro ...

  5. ANSI

    为了扩充ASCII编码,以用于显示本国的语言,不同的国家和地区制定了不同的编码标准,由此产生了GB2312.BIG5.JIS等各自的编码标准.这些使用两个字节来代表一个字符的各种汉字延伸编码方式被称为 ...

  6. Python cookbook-读书笔记01

    1 数据结构和算法 1.1 Unpacking a sequence into separate variable(解包,赋值) >>> data = [ 'ACME', 50, 9 ...

  7. Python 学习笔记(五)杂项

    1. Assert assert len(unique_characters) <= 10, 'Too many letters' #…等价于: if len(unique_characters ...

  8. 详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )

    写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题.  稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...

  9. Flex3.0 Loader类的练习

    <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="h ...

  10. IOS 异步加载图片

    #import <Foundation/Foundation.h> #import "StringUtils.h" @interface ImageManager : ...