Windows下编译最新volley jar包

本文介绍如何使用ant和gradle两种方式从源码编译Volley库并获取jar包,适用于希望深入了解Volley构建过程的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

蛋疼想自己编译个最新的volley jar用用,
随便搜了下方法,如这个 http://blog.youkuaiyun.com/wangjia55/article/details/41744181 ,
试着编译了下,结果各种报错,
最后强迫症发作,捣鼓出来了,
编译方式分两种,antgradle

使用ant编译


因为最新代码已经不在用ant改用gradle来构建工程,但是依然保留ant编译脚本,这里还是介绍一下,尽管比较麻烦

下载volley

git clone https://android.googlesource.com/platform/frameworks/volley

修改项目结构

  1. 进入<volley>\src\main\目录,将java文件夹重命名为src
  2. <volley>\src\main\文件夹里面的所有内容剪切<volley>文件夹中;
  3. 进入<volley>\src\目录,删除多余的maintest文件夹;

下载配置ant

下载 http://ant.apache.org/bindownload.cgi

ant环境变量配置

1
2
setx PATH "%PATH%;%%ANT_HOME%%\bin;%%ANT_HOME%%\lib" -m
setx ANT_HOME "E:\DevTools\Others\apache-ant-1.9.4" -m

P.S. setx是Windows Vista之后有的设置环境变量的工具,命令中的文件路径请按实际情况进行修改

配置Android SDK环境变量

1
2
setx PATH "%PATH%;%%ANDROID_HOME%%\tools;%%ANDROID_HOME%%\platform-tools" -m
setx ANDROID_HOME "E:\DevTools\AndroidStudio\sdk" -m

更新anroid工程

相关命令的使用说明可以用android -h来查看

首先cmd切换到<volley>\目录,运行android list target命令,查看已经安装的api的target id,这是待会编译用的api版本,选择适合的,记下id号(这个id号码跟api版本关系,完全是根据你安装了多少个api而定的),
如我要用最新的api 22来编译,这里就是8
target id

然后运行>android - update lib-project -p . -t 8(-t 后面的是刚才记下的target id号,自己按实际情况修改)更新工程。
update lib-project

之后会生成一些文件,打开其中的project.properties文件,
在文件的最后面加一句renderscript.opt.level=O0,保存。

不加那句的话,等下用ant jar命令导出jar包会出错,参考Stack Overflow

最后运行ant jar命令即可,就可以在bin目录找到jar包了。
导出jar包

使用gradle编译


最新代码本身就是用gradle来构建的,所以简单很多

下载和配置gradle

下载 http://gradle.org/
正式版的Android Studio包含gradle,
<android-studio\>gradle\gradle-2.2.1,自行选择用现成的还是重新下载

配置环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
setx PATH "%PATH%;%%GRADLE_HOME%%\bin" -m
setx GRADLE_HOME "E:\DevTools\Others\gradle-2.3" -m
setx GRADLE_USER_HOME "E:\DevWorks\.gradle" -m
```
> P.S. 其中前两项是配置可执行文件的PATH,第三项是更改依赖仓库的位置,
> 默认情况下,依赖仓库在`C:\Users\<username>\.gradle`文件夹中,
> 我认为放在C盘不是个好的选择,因为这文件夹随着开发使用依赖库,而变得越来越大,
> 如果重装系统忘记备份,就悲剧了,得重新下载

### 编译
重新用git克隆一份volley源码,
`git clone https://android.googlesource.com/platform/frameworks/volley`
进入到`<volley>\`目录,打开`build.gradle`文件,找到
```groovy
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.14.+'
// 当然,版本号可能跟我现在这个的不一样,
}
}

将其中的'com.android.tools.build:gradle:0.14.+'
改成'com.android.tools.build:gradle:1.1.0'

这里的版本号到底怎么改,可以用Android Studio随便建一个工程,打开主module的build.gradle对照着改

改完之后打开cmd,切换到<volley>\目录,
运行gradle bundleRelease,等待编译,
成功后可以找到<volley>\build\intermediates\bundles\release\classes.jar,即为编译后的jar包,重命名为volley.jar即可。

总结

上面说了这么多,其实只是强迫症犯了,想撇开IDE,用命令编译出个jar包来玩玩。
如果只需要使用volley的话,根本不用执着导出jar,有其他更方便的方法。
比如改了项目结构后,用Eclipse导入就可以用,Androd Studio更屌,改都不用改,直接导入为module就行。
不过有一颗折腾的心总是好的,反正也学到了新东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值