今天又来肝kotlin了,主题是:用kt写一个SDK给其他人用,这个小技能在项目中会经常用到,应该有很多小伙伴还不会用,不会的请往下看---⬇
在项目里面新建一个module
选择Android library,然后点击finish就行了
接下来你就会在项目工程下面看到刚刚所创建的module,我这里是hights
开始写接口,对外暴露了
kotlin
package com.example.hights
object HeightInterface {
fun getStudentHeight() : List<Double> {
val studentHeights = mutableListOf<Double>()
studentHeights.add(181.0)
studentHeights.add(182.0)
studentHeights.add(172.0)
return studentHeights.toList()
}
}
在文件build.gradle.kts下添加以下代码,为了后面打包用,写完下面代码,记得sync一下
kotlin
tasks.register<Copy>("makeJar") {
// 如果之前存在,则先删除
delete("build/libs/mysdklib.jar")
// 设置拷贝的文件来源
//from("build/intermediates/aar_main_jar/debug/")
// 生成jar包后的文件目录位置
into("build/libs/")
// 设置过滤条件
include("classes.jar")
// 重命名为 mysdklib.jar
rename("classes.jar", "mysdklib.jar")
}
tasks.getByName("makeJar").dependsOn("build")
通过gradle打包,控制台输入:
kotlin
./gradlew makeJar
最终打包好的aar就会输出到build/libs/下面
到另外一个app,把刚才打包好的hights-release.aar放到libs下面
并在build.gradle.kts中引入aar
kotlin
implementation(files("libs/hights-release.aar"))
最后随便写个main,调用SDK中的方法就可以了
kotlin
package com.example.kotlindemo
import com.example.hights.HeightInterface
fun main() {
val list: List<Double> = HeightInterface.getStudentHeight()
list.forEach() {
println("学生的身高为:${it}")
}
}
输出如下
kotlin
学生的身高为:181.0
学生的身高为:182.0
学生的身高为:172.0
Process finished with exit code 0