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
相关推荐
雨白8 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
诺诺Okami12 小时前
Android Framework-Launcher-UI和组件
android
潘潘潘13 小时前
Android线程间通信机制Handler介绍
android
潘潘潘14 小时前
Android动态链接库So的加载
android
潘潘潘14 小时前
Android多线程机制简介
android
CYRUS_STUDIO16 小时前
利用 Linux 信号机制(SIGTRAP)实现 Android 下的反调试
android·安全·逆向
CYRUS_STUDIO16 小时前
Android 反调试攻防实战:多重检测手段解析与内核级绕过方案
android·操作系统·逆向
黄林晴20 小时前
如何判断手机是否是纯血鸿蒙系统
android
火柴就是我20 小时前
flutter 之真手势冲突处理
android·flutter
法的空间20 小时前
Flutter JsonToDart 支持 JsonSchema
android·flutter·ios