转载地址:http://blog.licheedev.com/page/2/
蛋疼想自己编译个最新的volley jar用用,
随便搜了下方法,如这个 http://blog.csdn.net/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
下载 http://ant.apache.org/bindownload.cgi
ant环境变量配置
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环境变量
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
。
然后运行>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
,自行选择用现成的还是重新下载
配置环境变量
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
文件,找到
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就行。
不过有一颗折腾的心总是好的,反正也学到了新东西。
文章链接 http://licheetec.com/2015/04/29/compile-volley/