用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)
大家讲道理2017-04-18 10:27:33
後來自己寫了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]) {
//
}
迷茫2017-04-18 10:27:33
在依賴這個jar的工程中的build.gradle檔案中依賴一下fastjson,如
dependencies {
compile 'com.alibaba:fastjson:1.2.13'
}