Android Studio中如何打JAR包
2015-11-19 16:06
525 查看
Android Studio中对于library类型的Moudle,默认打出来的是AAR包,
但有时候我们的SDK还需要共享给一些其他eclipse的项目使用(或者libs下也能放jar),这样我们就需要输出JAR包,
首先 需要设置module应用的gradle插件为 library 代码长这样:
这样,build的时候,android
studio 会在 module目录的build/intermediates/bundles/release/ 子目录(这个目录以后版本可能会变)里生成一个名为classes的jar包。
接着可以通过在Moudle中的build.gradle加入task来实现
从这里我们可以看出先去找classes.jar后执行任务从build/libs/文件夹下面看有没有libs文件和jar,有就先删除jar,没有呢就去新建libs。
在终端执行生成JAR包
![](http://img.blog.csdn.net/20151119154317008?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
我们先来看下原始的目录文件结构
![](http://img.blog.csdn.net/20151119154505008?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在以下目录就可以找到我们生成的JAR包,看图:
![](http://img.blog.csdn.net/20151119155608357?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
是不是多了一个jar啊,如果你的项目没用到assets等资源文件,那你直接拷贝出去就可以用了。
如果用到了,那就来个下面的操作:
利用文件依赖来打包assets。代码长这样:
关键是第三行代码。还有一点一定要注意,需要在assets新建一个名为assets的目录,在这个子目录里放置你需要的文件。这样才可以哦。
如果需要混淆下代码。
proguard配置:
minifyEnabled设置为 true才能把assets打包进去。
好了,android studio 使用gradle 导出jar包,并打包assets目录 ,我说明白了,对吧。
但有时候我们的SDK还需要共享给一些其他eclipse的项目使用(或者libs下也能放jar),这样我们就需要输出JAR包,
首先 需要设置module应用的gradle插件为 library 代码长这样:
apply plugin: 'com.android.library'
这样,build的时候,android
studio 会在 module目录的build/intermediates/bundles/release/ 子目录(这个目录以后版本可能会变)里生成一个名为classes的jar包。
接着可以通过在Moudle中的build.gradle加入task来实现
task clearJar(type: Delete) { delete 'build/libs/rollviewpager.jar' } task makeJar(type: Copy) { from('build/intermediates/bundles/release/') into('build/libs/') include('classes.jar') rename ('classes.jar', 'rollviewpager.jar') } makeJar.dependsOn(clearJar, build)
从这里我们可以看出先去找classes.jar后执行任务从build/libs/文件夹下面看有没有libs文件和jar,有就先删除jar,没有呢就去新建libs。
在终端执行生成JAR包
我们先来看下原始的目录文件结构
在以下目录就可以找到我们生成的JAR包,看图:
是不是多了一个jar啊,如果你的项目没用到assets等资源文件,那你直接拷贝出去就可以用了。
如果用到了,那就来个下面的操作:
利用文件依赖来打包assets。代码长这样:
compile fileTree(include: ['*.jar'], dir: 'libs') provided files('src/main/assets') compile 'com.android.support:appcompat-v7:21.0.3'
关键是第三行代码。还有一点一定要注意,需要在assets新建一个名为assets的目录,在这个子目录里放置你需要的文件。这样才可以哦。
如果需要混淆下代码。
proguard配置:
-libraryjars 'C:\Soft\android\adt\sdk\platforms\android-19\android.jar' -optimizations !code/simplification/arithmetic -allowaccessmodification -repackageclasses '' -keepattributes *Annotation* -dontpreverify -dontwarn android.support.** -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.view.View { public <init>(android.content.Context); public <init>(android.content.Context,android.util.AttributeSet); public <init>(android.content.Context,android.util.AttributeSet,int); public void set*(...); } -keepclasseswithmembers class * { public <init>(android.content.Context,android.util.AttributeSet); } -keepclasseswithmembers class * { public <init>(android.content.Context,android.util.AttributeSet,int); } -keepclassmembers class * extends android.content.Context { public void *(android.view.View); public void *(android.view.MenuItem); } -keepclassmembers class * extends android.os.Parcelable { static ** CREATOR; } -keepclassmembers class **.R$* { public static <fields>; } -keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; }
minifyEnabled设置为 true才能把assets打包进去。
好了,android studio 使用gradle 导出jar包,并打包assets目录 ,我说明白了,对吧。
相关文章推荐
- iOS 和 Android 设计理念的演变
- android nfc MifareUltralight读写
- Android修改状态栏颜色 布局错乱问题解决
- Android CrashHandler使用时存在多个Log文件问题
- android Graphics
- Android音频系统之AudioFlinger(二)
- Ubuntu搭建Android开发环境
- android 新手错误
- Android官方提供的支持不同屏幕大小的全部方法(转)
- android canvas.drawText()的研究
- android Intent实现页面跳转
- 编译ijkplayer-android
- 2015-11-04-Android手动缓存js,css和浏览器默认缓存的优劣势对比.md
- Android ViewPager使用方法+ViewPager循环滑动
- Android源码及SDK国内镜像下载
- Android studio 如何打.aar包,并应用
- Android Spinner的ArrayAdapter和SpinnerAdapter注意事项
- 2015-11-04-Android中Java和JavaScript交互实例
- android edittext限制输入小数位数,限制输入数字大小
- 获取android SDCard存储大小