//添加以下方法
//执行 gradle -> wifisdk -> Tasks -> other ->makeKotlinJar
//在 build/libs 目录下生成 makeKotlinJar.jar 文件
// 这种方式生成的jar文件如果被kotlin app项目引用,则会出现kotlin库重复的错误,所以生成的jar
task makeJar(type: Jar) {
archiveName 'wifisdkn_7_4_2.jar'
//添加项目中java生成的class文件目录
from('build/intermediates/classes/release/')
//添加项目中kotlin生成的class文件目录
from('build/tmp/kotlin-classes/release')
// from(project.zipTree("libs/wiwide_sdk_7_4_1.jar"))
// 添加Kotlin库(方法1)
from {
String[] include = [
"kotlin-runtime-${kotlin_version}.jar",
"kotlin-stdlib-${kotlin_version}.jar"
]
configurations.compile
.findAll { include.contains(it.name) }
.collect { it.isDirectory() ? it : zipTree(it) }
}
// 添加Kotlin库(方法2)
//添加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/**')
}
makeJar.dependsOn(build)
如果遇到错误,在android区间中添加以下配置
android {
lintOptions {
abortOnError false
}

本文介绍了一种创建自定义Wi-Fi SDK的方法,通过Gradle任务生成一个不含重复Kotlin库的jar文件,并包含了必要的配置步骤来排除Android相关类。
714

被折叠的 条评论
为什么被折叠?



