博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Studio中如何打JAR包
阅读量:6676 次
发布时间:2019-06-25

本文共 1688 字,大约阅读时间需要 5 分钟。

hot3.png

1.在build.gradle里面增加以下内容:

task makeJar(type: Copy) {    //删除之前的jar    delete 'build/libs/mysdk.jar'    from('build/intermediates/bundles/release/')    //打包到指定目录    into('build/libs/')    include('classes.jar')    //定义名称变量    def a = "mysdk-"+android.defaultConfig.versionName + ".jar";    //重命名    rename('classes.jar',a);}makeJar.dependsOn(build)

2.在项目根目录运行命令:

./gradview makeJar

即可在置顶目录找到那个jar了。

异常:

* Where:Build file '/home/ubuntu/MyProject/app/build.gradle' line: 1* What went wrong:A problem occurred evaluating project ':app'.> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0

遇到这个问题是因为你用了jdk1.7的原因,要你系统的jdk换成1.8就可以了,。

更新:

2017.03.03 不知道是升级了AS还是升级了gradle导致目录有所变化,如图:

105017_KkFP_914559.png

这个目录原来是 release 现在变成 default 了,因此

from('build/intermediates/bundles/release/')

这里要改成

from('build/intermediates/bundles/default/')

异常:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/xxx/xxx/BuildConfig;

遇到这个异常是因为把SDK里面的BuildConfig文件也打包进去了,到此的冲突,所以换一种打包方式吧。

task makeJar1(type:org.gradle.api.tasks.bundling.Jar) {    def a = "sdk-"+android.defaultConfig.versionName;    //指定生成的jar名    baseName a    delete 'build/outputs/libs/'+a    //从哪里打包class文件    from('build/intermediates/classes/debug/com/xxx/xxx/')    //打包到jar后的目录结构    into('com/xxx/xxx/')    //去掉不需要打包的目录和文件    exclude('test/', 'BuildConfig.class', 'R.class')    //去掉R$开头的文件    exclude{ it.name.startsWith('R$');}}

 

转载于:https://my.oschina.net/dolphinboy/blog/741577

你可能感兴趣的文章
SQL Server 2012笔记分享-17:理解并设置文件表(FileTable)
查看>>
MongoDB运行状态、性能监控与分析
查看>>
Exchange 2016共享邮箱不保存已发送邮件的问题
查看>>
[C#基础知识系列]全面解析C#中静态与非静态
查看>>
SQL Server 2012笔记分享-40:自动维护索引
查看>>
【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI
查看>>
Linux 学习_samba
查看>>
不说技术~有时,开发者还是应该讲究一点!
查看>>
如何做好工作流定义
查看>>
.NET I/O 学习笔记:目录和文件
查看>>
pgpool-II3.1 的begin transaction 和 自动追加 BEGIN/COMMIT问题
查看>>
(转)记hadoop故障一例:BlockAlreadyExistsException
查看>>
hdu 4284 Travel floyd + 状压DP
查看>>
相似数据检测算法
查看>>
spring中的设计模式Observer pattern
查看>>
Lazarus 1.0.2 发布,Pascal 集成开发环境
查看>>
centos 7 中的 systemd
查看>>
Apple Watch已向微信开放WatchKit接口?
查看>>
数学图形(1.46)高次方程曲线
查看>>
Unitity 常用工具类
查看>>