Android项目使用Kotlin语言生成Jar包 给非Kotlin项目引用

时间:2021-05-29 09:14:28
//添加以下方法
//执行 gradle -> wifisdk -> Tasks -> other ->makeKotlinJar
//在 build/libs 目录下生成 makeKotlinJar.jar 文件
// 这种方式生成的jar文件如果被kotlin app项目引用,则会出现kotlin库重复的错误,所以生成的jar
task makeKotlinJar(type: Jar) {
    archiveName 'makeKotlinJar.jar'
    //添加项目中java生成的class文件目录
    from('build/intermediates/classes/release/')
    //添加项目中kotlin生成的class文件目录
    from('build/tmp/kotlin-classes/release')

    //添加kotlin项目库(库文件从引用中查找,并复制到"libs/o/"目录)
    //如果生成的jar包要给Kotlin项目引用,则删除以下三行即可.
    from(project.zipTree("libs/o/kotlin-stdlib-1.2.10.jar"))
    from(project.zipTree("libs/o/kotlin-stdlib-jre7-1.2.10.jar"))
    from(project.zipTree("libs/o/annotations-13.0.jar"))

    //makeKotlinJar.jar保存目录
    destinationDir = file('build/libs')

//    exclude('wiwide_sdk/BuildConfig.class')
//    exclude('包名/BuildConfig\$*.class')
//    exclude('**/R.class')
//    exclude('**/R\$*.class')
    exclude('android/**')

    //以下为此处第三方库需包含文件(gson、okhttp、okio)
//    include('com/**')
//    include('org/**')
//    include('kotlin/**')
    include('**/**')
//    include('okhttp3/**')
//    include('okio/**')
}
makeKotlinJar.dependsOn(build)

 

如果遇到错误,在android区间中添加以下配置

android {
    lintOptions {
        abortOnError false
    }