首頁  >  問答  >  主體

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)

PHP中文网PHP中文网2762 天前537

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理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]) {
        //
    }

    回覆
    0
  • 迷茫

    迷茫2017-04-18 10:27:33

    在依賴這個jar的工程中的build.gradle檔案中依賴一下fastjson,如

    dependencies {
        compile 'com.alibaba:fastjson:1.2.13'
    }

    回覆
    0
  • 取消回覆