[Android Pro] AndroidStudio导出jar包

简介:

reference :  http://blog.csdn.net/beijingshi1/article/details/38681281

不像在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包,结果成功了,如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 Pro
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/4817844.html如需转载请自行联系原作者

demoblog
相关文章
|
3月前
|
编解码 Java Android开发
安卓虚拟摄像头免root版,虚拟摄像头替换真实摄像头,jar代码开源分享
通过动态替换摄像头输入流的方式实现虚拟摄像头功能,代码经过简化展示核心逻辑。实际开发中还需要考虑视频编解码优化
|
3月前
|
Java Android开发
安卓虚拟摄像头过人脸,免root虚拟hook相机,虚拟相机hook版【jar】
两种Hook Android相机的方法:Xposed模块和Frida脚本。Xposed模块需要安装在已root的设备
|
4月前
|
编解码 自然语言处理 Java
安卓改机工具免root,一键过设备检测,串号SN码【jar即可实现】
本项目通过Hook系统API实现设备信息的拦截与修改,主要功能包括动态更改IMEI/SN等设备标识。核心技术基于Xposed框架(免Root可用VirtualXposed)
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
382 0
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
1241 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
Java 图形学 Android开发
UNITY与安卓⭐二、AndroidStudio中关于通讯的使用教学
UNITY与安卓⭐二、AndroidStudio中关于通讯的使用教学
|
弹性计算 Java Serverless
Serverless 应用引擎操作报错合集之上传自定义JAR包,启动时报错,是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
Java 应用服务中间件
tomcat7 与 tomcat8 加载 jar包的顺序
tomcat7 与 tomcat8 加载 jar包的顺序
437 0
|
Java 应用服务中间件 API
java 启动查看jar包加载顺序并设置classpath
java 启动查看jar包加载顺序并设置classpath
945 0
|
Java
[JarEditor]可直接修改jar包的IDEA插件
### 修改JAR包变得更简单:JarEditor插件简介 **背景:** 开发中常需修改JAR包中的class文件,传统方法耗时费力。JarEditor插件让你一键编辑JAR包内文件,无需解压。 **插件使用:** 1. **安装:** 在IDEA插件市场搜索JarEditor并安装。 2. **修改class:** 打开JAR文件中的class,直接编辑,保存后一键构建更新JAR。 3. **文件管理:** 右键菜单支持在JAR内新增/删除/重命名文件等操作。 4. **搜索:** 使用内置搜索功能快速定位JAR包内的字符串。
1331 2
[JarEditor]可直接修改jar包的IDEA插件

热门文章

最新文章