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
相关推荐
Just_Paranoid几秒前
【WorkManager】无法在 Direct Boot 模式下初始化
android·jetpack·usermanager·workmanager·directboot
前端小超超3 分钟前
如何配置capacitor 打包的安卓app固定竖屏展示?
android·前端·gitee
顾林海26 分钟前
探秘Android JVM TI:虚拟机背后的"隐形管家"
android·面试·性能优化
时空自由民.2 小时前
repo 学习教程
大数据·学习·elasticsearch
刘大国2 小时前
<android>反编译魔改安卓系统应用并替换
android
恋猫de小郭2 小时前
Flutter Riverpod 3.0 发布,大规模重构下的全新状态管理框架
android·前端·flutter
纤瘦的鲸鱼3 小时前
MySQL慢查询
android·adb
郭庆汝3 小时前
模型部署:(三)安卓端部署Yolov8-v8.2.99目标检测项目全流程记录
android·yolo·目标检测·yolov8
CodingCos3 小时前
【芯片设计-信号完整性 SI 学习 1.1.1 -- Unit Interval,比特周期】
学习·ui·si 比特周期
fatiaozhang95273 小时前
中国移动云电脑一体机-创维LB2004_瑞芯微RK3566_2G+32G_开启ADB ROOT安卓固件-方法3
android·xml·adb·电脑·电视盒子·刷机固件