Android --- Kotlin学习之路:自己写一个SDK给别的APP用(暴漏一个接口,提供学生的身高数据)

今天又来肝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
相关推荐
暴富奥利奥33 分钟前
完成docker方式的ros环境配置
linux·学习·docker·容器
低调小一1 小时前
LRU缓存科普与实现(Kotlin 与 Swift)
开发语言·缓存·kotlin
雨白1 小时前
深入理解协程的运作机制 —— 调度、挂起与性能
android·kotlin
总有刁民想爱朕ha1 小时前
AI大模型学习(17)python-flask AI大模型和图片处理工具的从一张图到多平台适配的简单方法
人工智能·python·学习·电商图片处理
沐怡旸1 小时前
【Android】Android系统体系结构
android
namehu1 小时前
React Native 应用性能分析与优化不完全指南
android·react native·ios
Larry_Yanan2 小时前
QML学习笔记(三十一)QML的Flow定位器
java·前端·javascript·笔记·qt·学习·ui
与己斗其乐无穷2 小时前
C++学习记录(17)红黑树简单实现map和set
学习
杰瑞学AI2 小时前
我的全栈学习之旅:FastAPI (持续更新!!!)
后端·python·websocket·学习·http·restful·fastapi
xqlily2 小时前
Kotlin:现代编程语言的革新者
android·开发语言·kotlin