Windows下编译最新volley为jar包

时间:2021-10-11 09:16:36

转载地址:http://blog.licheedev.com/page/2/

蛋疼想自己编译个最新的volley jar用用,
随便搜了下方法,如这个 http://blog.csdn.net/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环境变量配置

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
Windows下编译最新volley为jar包

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

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

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

最后运行ant jar命令即可,就可以在bin目录找到jar包了。
Windows下编译最新volley为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/