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

今天又来肝kotlin了,主题是:用kt写一个SDK给其他人用,这个小技能在项目中会经常用到,应该有很多小伙伴还不会用,不会的请往下看—⬇

在项目里面新建一个module

在这里插入图片描述

选择Android library,然后点击finish就行了
在这里插入图片描述

接下来你就会在项目工程下面看到刚刚所创建的module,我这里是hights
在这里插入图片描述

开始写接口,对外暴露了
在这里插入图片描述

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一下

在这里插入图片描述

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打包,控制台输入:

./gradlew makeJar

在这里插入图片描述
最终打包好的aar就会输出到build/libs/下面


到另外一个app,把刚才打包好的hights-release.aar放到libs下面
在这里插入图片描述
并在build.gradle.kts中引入aar

在这里插入图片描述

   implementation(files("libs/hights-release.aar"))

最后随便写个main,调用SDK中的方法就可以了
在这里插入图片描述

package com.example.kotlindemo

import com.example.hights.HeightInterface

fun main() {
    val  list: List<Double> = HeightInterface.getStudentHeight()
    list.forEach() {
        println("学生的身高为:${it}")
    }
}

输出如下

学生的身高为:181.0
学生的身高为:182.0
学生的身高为:172.0

Process finished with exit code 0

相关推荐

  1. pigeon kotlin swift一个自己插件

    2024-07-13 06:36:04       38 阅读
  2. Rust :数据类型起一个别名

    2024-07-13 06:36:04       28 阅读
  3. Android --- Kotlin学习:基础语法学习笔记

    2024-07-13 06:36:04       29 阅读
  4. python一个自动生成android开机动画工具

    2024-07-13 06:36:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 06:36:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 06:36:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 06:36:04       62 阅读
  4. Python语言-面向对象

    2024-07-13 06:36:04       72 阅读

热门阅读

  1. XML 应用程序

    2024-07-13 06:36:04       25 阅读
  2. 在Ubuntu 16.04上安装和保护MongoDB的方法

    2024-07-13 06:36:04       21 阅读
  3. 各个系统配置端口转发

    2024-07-13 06:36:04       21 阅读
  4. 地下城游戏中都有哪些类型的服务器?

    2024-07-13 06:36:04       25 阅读
  5. MongoDB部署模式分析

    2024-07-13 06:36:04       25 阅读
  6. Docker 安装 PostgreSQL

    2024-07-13 06:36:04       28 阅读
  7. MongoDB 数据库引用

    2024-07-13 06:36:04       27 阅读
  8. LINQ详解

    2024-07-13 06:36:04       22 阅读
  9. 三级_网络技术_14_局域网技术基础及应用

    2024-07-13 06:36:04       25 阅读
  10. TCP网络传输控制协议

    2024-07-13 06:36:04       26 阅读
  11. 医疗健康信息的安全挑战与隐私保护最佳实践

    2024-07-13 06:36:04       28 阅读