java - Android Studio 编译可执行 jar
本文介绍了java - Android Studio 编译可执行 jar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
用android-studio 写了一个java application,依赖了fastjson,打包成jar的时候发现 fastjson没有导出,导致了 :java.lang.NoClassDefFoundError: com/alibaba/fastjson/JSONObject
android-studio 中配置Artifacts的功能好像被阉割了,所以能不能用gradle配置,实现打包的时候导出 fastjson 依赖。
ps:项目中同时又Android 和 Java,改用 idea有点不方便(我知道idea也能开发Android)
解决方案
后来自己写了task,实现了这个功能
jar {
String someString = ''
configurations.runtime.each {someString = someString + " lib//"+it.name}
manifest {
attributes 'Main-Class': 'cc.gnaixx.tools.core.Hidex'
attributes 'Class-Path': someString
}
}
task clearPj(type:Delete){
delete 'build','target'
}
//copy 运行时依赖
task copyJar(type:Copy){
from configurations.runtime
into ('build/libs/lib')
}
task release(type: Copy,dependsOn: [build,copyJar]) {
//
}
这篇关于java - Android Studio 编译可执行 jar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文