[转]AndroidStudio导出jar包

原文链接:http://blog.csdn.net/hjq842382134/article/details/38538097#

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

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

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

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

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

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

[java] view plaincopy

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

[java] view plaincopy

  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
*_*成功了吧..具体更多的细节的话,你们可以去官网找下答案.

时间: 2024-12-25 16:17:48

[转]AndroidStudio导出jar包的相关文章

AndroidStudio导出jar包

不像在Eclipse,可以直接导出jar包.AndroidStudio只可以生成aar包. 在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了. 用jar命令就可以打包你所需要的资源,并指定jar包名. 在网上下载Volley源代码,导出jar包为例子. 在一个Android-Library项目工程中,我修改了下他的gradle版本,改为0.12+, 因为我是最新的gradle2.0.现在它的build.gradle文件如下: buildscript

[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版本,

Eclipse导出jar包Unity打包错误

前几天接SDK使用的是Android Studio昨天打开AndroidStudio后自动更新了gradler然后失败了然后AndroidStudio就挂了.就是用之前的方法Eclipse到处jar包,最后遇到了奇怪的问题,在此记录下,希望可以帮到遇到同样错误的小伙伴. 1,我在Eclipse下随便创建了一个安卓工程,首先使用的是E:\Unity 4.6\Editor\Data\PlaybackEngines\androidplayer\release\bin下的Classes.jar. 2,简

关于Android开发中导出jar包后的资源使用问题解决

我们经常遇到一个需求,就是给别人使用我们工程的时候,为了能够屏蔽代码,把代码封装成jar包提供给第三方使用,但是这样我们的资源文件怎么给对方用呢? 其实并不用这么的复杂,下面就介绍一下具体的方法 一, 把你要封装jar包的工程先设置为库文件(Is Library) 右键项目名称——properties——勾选下图的checkbox即可. 二.最关键的一步,Clean一次项目!!! Eclipse点击上面工具栏的Project——Clean——选择项目,确定 三.使用Eclipse的Export功

【转】 Android——eclipse共享library以及导出jar包

原文网址:http://blog.csdn.net/jscese/article/details/36627195 android的apk在在eclipse上进行开发的时候,有时候需要import其它包中的一些class,正常的方法就是在java build path中library 中添加 jar 包! 转载注明出处:http://blog.csdn.net/jscese/article/details/36627195 一.apk之间共享Class 在eclipse中的一个androoid工

【转】怎么导出jar包

如何导出jar包 右键工程->Export->Java->JAR file->Next-> Next 选中工程和工程中你要打包的内容,如果是Android的项目,需要把Manifest文件去掉. 指定打包出的jar文件的名字. 点击Finish即可.

【jar包】Android——eclipse共享library以及导出jar包

android的apk在在eclipse上进行开发的时候,有时候需要import其它包中的一些class,正常的方法就是在java build path中library 中添加 jar 包! 转载注明出处:http://blog.csdn.net/jscese/article/details/36627195 一.apk之间共享Class 在eclipse中的一个androoid工程想要使用另外一个工程的class,可以在工程的project.properties文件中添加: [html] vi

Android APK及导出JAR包的代码混淆

像Android开发基于java语言的,很容易被别人反编译出来,一下就相当于裸奔了,特别是用于商业用途的时候,防止反编译是必要的措施.而代码混淆是一种很好防止反编译的方式. 1.APK的代码混淆. 在eclipse的开发环境下,使用android SDK 自带的proguard混淆工具. 主要用到红线框中的两个文件. 在project.properties文件中,要指定混淆的文件.如图: 然后,详细的proguard-project.txt的写法如下: -dontwarn 是让指定包名不提示警告

关于Android Studio导出jar包的问题

之所以说这个问题,还是因为最开始以为Unity开发要用 再说一下我的环境 Win7 x64 VS2015 Unity5.2.2 Android Studio 2.3.2 JDK1.8 我现在Unity与Android相结合是把Android项目导出aar包,具体方法百度就有,不赘述 现在说说导出Jar包的问题 看了网上说的在Gradle里加Task然后就可以exportJar,再把此jar包与AndroidManifest.xml一同考到 Unity的Assets/Plugins/Android