java - Android Studio 编译可执行 jar

查看:232
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆