Android Studio 导出jar包
不像在Eclipse,可以直接导出jar包。AndroidStudio只可以生成aar包。
在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了。
用jar命令就可以打包你所需要的资源,并指定jar包名。
在网上下载Volley源代码,导出jar包为例子。
在Volley项目工程中,我修改了下他的gradle版本,改为0.12+,
因为我是最新的gradle2.0。现在它的build.gradle文件如下:
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:0.12.+'
- }
- }
- apply plugin: 'com.andriod.library'
- android {
- compileSdkVersion 19
- buildToolsVersion = "20"
- sourceSets {
- defaultConfig {
- testPackageName 'com.android.volley.tests'
- }
- main {
- assets.srcDirs = ['assets']
- res.srcDirs = ['res']
- aidl.srcDirs = ['src']
- resources.srcDirs = ['src']
- renderscript.srcDirs = ['src']
- java.srcDirs = ['src']
- manifest.srcFile 'AndroidManifest.xml'
- }
- instrumentTest.setRoot('tests')
- instrumentTest.java.srcDirs = ['tests/src']
- }
- }
因为再导入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包,结果成功了,如下:
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:0.12.+'
- }
- }
- //定义一个函数,target是生成jar包的文件名,classDir是class文件所在的文件夹
- def makeJar(String target,String classDir){
- exec{
- executable "jar" //调用jar
- args "cvf",target
- args "-C", classDir
- args "","."
- }
- }
- //新建一个task,名为buildLib,依赖build(build是一个自带的task)
- task buildLib(dependsOn:['build'])<< {
- makeJar("volley.jar","build/intermediates/classes/release")
- }
- apply plugin: 'android-library'
- android {
- compileSdkVersion 19
- buildToolsVersion = "20"
- sourceSets {
- defaultConfig {
- testPackageName 'com.android.volley.tests'
- }
- main {
- assets.srcDirs = ['assets']
- res.srcDirs = ['res']
- aidl.srcDirs = ['src']
- resources.srcDirs = ['src']
- renderscript.srcDirs = ['src']
- java.srcDirs = ['src']
- manifest.srcFile 'AndroidManifest.xml'
- }
- instrumentTest.setRoot('tests')
- instrumentTest.java.srcDirs = ['tests/src']
- }
- }
现在我们在Volley文件夹下运行buildLib这个task就行了
gradlew buildLib
*_*成功了吧..具体更多的细节的话,你们可以去官网找下答案,或者留言问我也可以。。
Android Studio 导出jar包的更多相关文章
- Android Studio导出Jar包
这篇博客将介绍一下如何用Android Studio导出jar包,希望能给大家带来帮助. 首先需要修改build.gradle文件,在Android Studio中会显示多个build.gradle文 ...
- Android Studio导出Jar包并混淆
在Android Studio中,自带反编译查看class文件,如果没有混淆的话,class文件跟java文件基本没有区别了,为了保护,还是混淆的好. 网上看了不少资料,都是直接下载proguard额 ...
- Android实战技巧之十九:android studio导出jar包(Module)并获得手机信息
AS中并没有独立的Module 工程,可是能够在普通的Project中增加Module.所谓的Module就是我们通常所指的模块化的一个单元.并经常以jar包的形式存在.以下以一个获取手机信息的样例演 ...
- Android studio导出AAR包问题整理。
最近因为项目需求开始整理一个SDK 以AAR的方式提供出去.在整理的过程中遇到了很多坑. 以下是一些总结希望能帮助遇到同样问题的人. 1.怎么导出AAR,这种文章太多了,我贴一个大家可以做参考. ht ...
- 用Android Studio导出jar给Unity3D用
1.新建一个Android Studio工程,选择空Activity 2.创建一个Module 3.将Unity的依赖jar包拷贝到工程的libs下 4.增加Java代码 内容修改如下 package ...
- android studio 使用jar包,arr包和怎么使用githup开源项目中的aar包或module
我这里的android studio的版本是2.2.3版本 一.现在大家都用android studio了,就有人问怎么使用jar包 其实使用jar包比较简单 直接吧jar放入工程的app目录下的li ...
- android studio导jar包找不到类的解决方法
今天更新了universal-image-loader-1.9.5.jar文件,studio死活找不到其中相关的类,上网百度试了很多办法,总算解决了,具体方法跟一篇老外的帖子的差不多,这里分享下. 解 ...
- Android Studio导入jar包
使用开源框架是,可以直接复制源代码到自己的项目(本人在Android Studio中操作报R程序包不存在),也可以使用jar包,下面记录一下今天使用SmartImageView.jar的过程,不记录S ...
- Android Studio 生成Jar包时遇到的gradlew下载问题
网上介绍说使用gradlew打包jar,可是输入gradlew makeJar后就开始download XXX.zip,但是等了很久都没有完成.解决办法如下: 原文:http://blog.csdn ...
随机推荐
- docker学习(4) 一些常用操作
继续docker的学习之旅,今天练习一些常用的命令: 一.镜像相关 1.1 列出本机所有镜像 docker images 后面的操作,都以ubuntu做为练习的目标. 另外:如果某些镜像文件不想要了, ...
- [LeetCode] Longest Repeating Character Replacement 最长重复字符置换
Given a string that consists of only uppercase English letters, you can replace any letter in the st ...
- LISA介绍及其使用方法
LISA是ARM公司开发的一款开源工具.在内核开发过程中,苦于无法针对修改内容进行一些量化或者可视化结果的测量,而无感.LISA对于模型调优,回归测试都有较强的支持. 什么是LISA? LISA是Li ...
- js实现可拖动Div
随着时代的变化,越来越感觉到js的重要性,js不仅可以做web页面(如Ext框架),还可以做一些web的特效,这些特效不仅兼容PC,而且兼容手机端,毕竟是基于浏览器的,和平台没关系.现在微软的wind ...
- 【ios开发】使用自定义的TableViewCell
当系统自带的cell无法满足我们的要求的时候,我们就可以自定义自己的cell. 先看看效果,这个效果有点重复造轮子的感觉,因为UITableView已经实现了这种布局. 打造自己的cell只需简单的3 ...
- LoadRunner安装+汉化+破解
因为工作需要要用到LoadRunner,找个好几个版本,换了两台电脑(公司的win7折腾了好久装不上去),耗时两天终于搞定了,分享给需要的小伙伴们,避免大家踩更多的坑~ 一.安装前的准备 Win10系 ...
- SpringCloud: 服务发现
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #e4af0a } sp ...
- LVM逻辑卷管理命令
显示分区信息: [root@localhost /]# fdisk -l PV:物理硬盘格式化为物理卷(PV): [root@localhost /]# pvcreate /dev/sdb /dev/ ...
- STL的使用
Vector:不定长数组 Vector是C++里的不定长数组,相比传统数组vector主要更灵活,便于节省空间,邻接表的实现等.而且它在STL中时间效率也很高效:几乎与数组不相上下. #include ...
- MVC分页
http://www.cnblogs.com/iamlilinfeng/p/4075292.html 目录 一.Contrl与View数据传递(多表数据) 二.分页控件介绍 三.MVC源码说明 四.源 ...