AndroidStudio导出jar包 - Android - 次元立方网 - 电脑知识与技术互动交流平台
不像在Eclipse,可以直接导出jar包。AndroidStudio只可以生成aar包。
在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了。
用jar命令就可以打包你所需要的资源,并指定jar包名。
在网上下载Volley源代码,导出jar包为例子。
在一个Android-Library项目工程中,我修改了下他的gradle版本,改为0.12+,
因为我是最新的gradle2.0。现在它的build.gradle文件如下:
01.buildscript {02.repositories {03.mavenCentral()04.}05.dependencies {06.classpath'com.android.tools.build:gradle:0.12.+'07.}08.}09.apply plugin:'com.andriod.library'10.11.android {12.compileSdkVersion1913.buildToolsVersion ="20"14.15.sourceSets {16.defaultConfig {17.testPackageName'com.android.volley.tests'18.}19.20.main {21.assets.srcDirs = ['assets']22.res.srcDirs = ['res']23.aidl.srcDirs = ['src']24.resources.srcDirs = ['src']25.renderscript.srcDirs = ['src']26.java.srcDirs = ['src']27.manifest.srcFile'AndroidManifest.xml'28.29.}30.31.instrumentTest.setRoot('tests')32.instrumentTest.java.srcDirs = ['tests/src']33.}34.}因为再导入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.01.buildscript {02.repositories {03.mavenCentral()04.}05.dependencies {06.classpath'com.android.tools.build:gradle:0.12.+'07.}08.}09.10.//定义一个函数,target是生成jar包的文件名,classDir是class文件所在的文件夹11.def makeJar(String target,String classDir){12.exec{13.executable"jar"//调用jar14.args"cvf",target15.args"-C", classDir16.args"","."17.18.19.}20.}21.22.//新建一个task,名为buildLib,依赖build(build是一个自带的task)23.task buildLib(dependsOn:['build'])<< {24.makeJar("volley.jar","build/intermediates/classes/release")25.26.27.}28.29.30.apply plugin:'android-library'31.32.33.android {34.compileSdkVersion1935.buildToolsVersion ="20"36.37.38.sourceSets {39.defaultConfig {40.testPackageName'com.android.volley.tests'41.}42.43.44.main {45.assets.srcDirs = ['assets']46.res.srcDirs = ['res']47.aidl.srcDirs = ['src']48.resources.srcDirs = ['src']49.renderscript.srcDirs = ['src']50.java.srcDirs = ['src']51.manifest.srcFile'AndroidManifest.xml'52.53.54.}55.56.57.instrumentTest.setRoot('tests')58.instrumentTest.java.srcDirs = ['tests/src']59.}60.}现在我们在Volley文件夹下运行buildLib这个task就行了
gradlew buildLib
*_*成功了吧..具体更多的细节的话,你们可以去官网找下答案,或者留言问我也可以。。

浙公网安备 33010602011771号