蛋疼想自己编译个最新的volley jar用用,
随便搜了下方法,如这个 http://blog.youkuaiyun.com/wangjia55/article/details/41744181 ,
试着编译了下,结果各种报错,
最后强迫症发作,捣鼓出来了,
编译方式分两种,ant
和gradle
的
使用ant编译
因为最新代码已经不在用ant改用gradle来构建工程,但是依然保留ant编译脚本,这里还是介绍一下,尽管比较麻烦
下载volley
git clone https://android.googlesource.com/platform/frameworks/volley
修改项目结构
- 进入
<volley>\src\main\
目录,将java
文件夹重命名为src
; - 将
<volley>\src\main\
文件夹里面的所有内容剪切
到<volley>
文件夹中; - 进入
<volley>\src\
目录,删除
多余的main
和test
文件夹;
下载配置ant
ant环境变量配置
1 | setx PATH "%PATH%;%%ANT_HOME%%\bin;%%ANT_HOME%%\lib" -m |
P.S.
setx
是Windows Vista之后有的设置环境变量的工具,命令中的文件路径请按实际情况
进行修改
配置Android SDK环境变量
1 | setx PATH "%PATH%;%%ANDROID_HOME%%\tools;%%ANDROID_HOME%%\platform-tools" -m |
更新anroid工程
相关命令的使用说明可以用
android -h
来查看
首先cmd切换到<volley>\
目录,运行android list target
命令,查看已经安装的api的target id,这是待会编译用的api版本,选择适合的,记下id号(这个id号码跟api版本关系,完全是根据你安装了多少个api而定的),
如我要用最新的api 22
来编译,这里就是8
。
然后运行>android - update lib-project -p . -t 8
(-t 后面的是刚才记下的target id号,自己按实际情况修改)更新工程。
之后会生成一些文件,打开其中的project.properties
文件,
在文件的最后面加一句renderscript.opt.level=O0
,保存。
不加那句的话,等下用ant jar命令导出jar包会出错,参考Stack Overflow
最后运行ant jar
命令即可,就可以在bin
目录找到jar包了。
使用gradle编译
最新代码本身就是用gradle来构建的,所以简单很多
下载和配置gradle
下载 http://gradle.org/
正式版的Android Studio包含gradle,
在<android-studio\>gradle\gradle-2.2.1
,自行选择用现成的还是重新下载
配置环境变量
1 | setx PATH "%PATH%;%%GRADLE_HOME%%\bin" -m |
将其中的'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就行。
不过有一颗折腾的心总是好的,反正也学到了新东西。