不像在Eclipse,可以直接导出jar包。AndroidStudio只可以生成aar包。

在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了。

用jar命令就可以打包你所需要的资源,并指定jar包名。

在网上下载Volley源代码,导出jar包为例子。

在Volley项目工程中,我修改了下他的gradle版本,改为0.12+,

因为我是最新的gradle2.0。现在它的build.gradle文件如下:

  1. buildscript {
  2. repositories {
  3. mavenCentral()
  4. }
  5. dependencies {
  6. classpath 'com.android.tools.build:gradle:0.12.+'
  7. }
  8. }
  9. apply plugin: 'com.andriod.library'
  10. android {
  11. compileSdkVersion 19
  12. buildToolsVersion = "20"
  13. sourceSets {
  14. defaultConfig {
  15. testPackageName 'com.android.volley.tests'
  16. }
  17. main {
  18. assets.srcDirs       = ['assets']
  19. res.srcDirs          = ['res']
  20. aidl.srcDirs         = ['src']
  21. resources.srcDirs    = ['src']
  22. renderscript.srcDirs = ['src']
  23. java.srcDirs         = ['src']
  24. manifest.srcFile 'AndroidManifest.xml'
  25. }
  26. instrumentTest.setRoot('tests')
  27. instrumentTest.java.srcDirs = ['tests/src']
  28. }
  29. }

因为再导入Volley工程的时候,我选择的是推荐的Gradle Wrapper,它的作用是使我们在Unix,windows平台
下实现兼容。我用的是windows,所以先到达Volley的根目录,Volley我下载到E:\下
cd e:\Volley
接着输入命令:

gradlew clean build

就会看到Volley目录下有一个build文件夹,在 build/intermediates/classes/release下,我们可以看到Java文件生成的class文件,我们只要用jar打包这个文件夹就可以了
输入下面的命令,记得最后一个是'.',前面有空格。
jar cvf volley.jar -C  build/intermediates/classes/release .
不懂什么意思的话,去
http://blog.sina.com.cn/s/blog_93d133c601013hdm.html看下。
如无意外的话你会在Volley文件夹下看到volley.jar。
但是这并不是我们想要的啊,我想AndroidStudio自动的帮我搞好,生成jar包.
这就需要我们在build.gradle中设置了
由gradle官网可以知道,task和project是gradle最主要的东西,我当初的想法就是,
建立一个task,调用jar命令帮我生成jar包,结果成功了,如下:

  1. buildscript {
  2. repositories {
  3. mavenCentral()
  4. }
  5. dependencies {
  6. classpath 'com.android.tools.build:gradle:0.12.+'
  7. }
  8. }
  9. //定义一个函数,target是生成jar包的文件名,classDir是class文件所在的文件夹
  10. def makeJar(String target,String classDir){
  11. exec{
  12. executable "jar"   //调用jar
  13. args "cvf",target
  14. args "-C", classDir
  15. args "","."
  16. }
  17. }
  18. //新建一个task,名为buildLib,依赖build(build是一个自带的task)
  19. task buildLib(dependsOn:['build'])<< {
  20. makeJar("volley.jar","build/intermediates/classes/release")
  21. }
  22. apply plugin: 'android-library'
  23. android {
  24. compileSdkVersion 19
  25. buildToolsVersion = "20"
  26. sourceSets {
  27. defaultConfig {
  28. testPackageName 'com.android.volley.tests'
  29. }
  30. main {
  31. assets.srcDirs       = ['assets']
  32. res.srcDirs          = ['res']
  33. aidl.srcDirs         = ['src']
  34. resources.srcDirs    = ['src']
  35. renderscript.srcDirs = ['src']
  36. java.srcDirs         = ['src']
  37. manifest.srcFile 'AndroidManifest.xml'
  38. }
  39. instrumentTest.setRoot('tests')
  40. instrumentTest.java.srcDirs = ['tests/src']
  41. }
  42. }

现在我们在Volley文件夹下运行buildLib这个task就行了
gradlew buildLib
*_*成功了吧..具体更多的细节的话,你们可以去官网找下答案,或者留言问我也可以。。

Android Studio 导出jar包的更多相关文章

  1. Android Studio导出Jar包

    这篇博客将介绍一下如何用Android Studio导出jar包,希望能给大家带来帮助. 首先需要修改build.gradle文件,在Android Studio中会显示多个build.gradle文 ...

  2. Android Studio导出Jar包并混淆

    在Android Studio中,自带反编译查看class文件,如果没有混淆的话,class文件跟java文件基本没有区别了,为了保护,还是混淆的好. 网上看了不少资料,都是直接下载proguard额 ...

  3. Android实战技巧之十九:android studio导出jar包(Module)并获得手机信息

    AS中并没有独立的Module 工程,可是能够在普通的Project中增加Module.所谓的Module就是我们通常所指的模块化的一个单元.并经常以jar包的形式存在.以下以一个获取手机信息的样例演 ...

  4. Android studio导出AAR包问题整理。

    最近因为项目需求开始整理一个SDK 以AAR的方式提供出去.在整理的过程中遇到了很多坑. 以下是一些总结希望能帮助遇到同样问题的人. 1.怎么导出AAR,这种文章太多了,我贴一个大家可以做参考. ht ...

  5. 用Android Studio导出jar给Unity3D用

    1.新建一个Android Studio工程,选择空Activity 2.创建一个Module 3.将Unity的依赖jar包拷贝到工程的libs下 4.增加Java代码 内容修改如下 package ...

  6. android studio 使用jar包,arr包和怎么使用githup开源项目中的aar包或module

    我这里的android studio的版本是2.2.3版本 一.现在大家都用android studio了,就有人问怎么使用jar包 其实使用jar包比较简单 直接吧jar放入工程的app目录下的li ...

  7. android studio导jar包找不到类的解决方法

    今天更新了universal-image-loader-1.9.5.jar文件,studio死活找不到其中相关的类,上网百度试了很多办法,总算解决了,具体方法跟一篇老外的帖子的差不多,这里分享下. 解 ...

  8. Android Studio导入jar包

    使用开源框架是,可以直接复制源代码到自己的项目(本人在Android Studio中操作报R程序包不存在),也可以使用jar包,下面记录一下今天使用SmartImageView.jar的过程,不记录S ...

  9. Android Studio 生成Jar包时遇到的gradlew下载问题

    网上介绍说使用gradlew打包jar,可是输入gradlew makeJar后就开始download  XXX.zip,但是等了很久都没有完成.解决办法如下: 原文:http://blog.csdn ...

随机推荐

  1. [LeetCode] Binary Tree Right Side View 二叉树的右侧视图

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...

  2. [翻译] Android是怎样绘制视图的

    原文:How Android Draws Views 当一个Activity获取到焦点的时候,它的布局就开始被绘制. 绘制的过程由Android framework处理.但布局层级的根节点必须由Act ...

  3. Beta版本冲刺计划及安排

    经过紧张的Alpha阶段,很多组已经从完全不熟悉语言和环境,到现在能够实现初步的功能.下一阶段即将加快编码进度,完成系统功能.强化软件工程的体会.Beta阶段的冲刺时间为期七天,安排在2016.12. ...

  4. .Net mvc 根据前台参数动态绑定对象

    业务需求:根据前台界面的参数,动态绑定对象 <param name="colNames">属性名拼接字符串</param><param name=&q ...

  5. StarUML license key

    参考博客:http://blog.csdn.net/Excing/article/details/48998891 方法 将StarUML/www/license/node/LicenseManage ...

  6. orcle函数的使用,及其调用

    CREATE OR REPLACE Function getBdateT( D_Build date, Q_Date date) return Date as D_Return Date; /*返回的 ...

  7. Java学习笔记之JNDI(六)

    JNDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的 ...

  8. 在Arcscene绘制管线三维横断面(AE绘制三维点阵文字)

    根据数据信息动态生成三维管线及横断面表格.效果图如下: 在获取信息后,直接构造点阵进行文字绘制即可. 绘制IElement代码: /// <summary> /// 绘制三维文字 /// ...

  9. 微信Api分享

    这些都是以前积累的东西,有很多都是参考了别人的,都忘记出处了,请大家谅解.参考微信开发者平台 https://open.weixin.qq.com/cgi-bin/showdocument?actio ...

  10. linux安装tomcat

    一.下载tomcat 最新地址在:http://tomcat.apache.org 我下载的是:apache-tomcat-7.0.73.tar.gz,是已经编译好的包 解压文件后,移动到" ...