小工具知识网

当前位置: 首页 > 行业知识 > Android中的SDK以及利用Android Studio生成aar

行业知识

Android中的SDK以及利用Android Studio生成aar

2026-11-08 11:41:09 来源:互联网转载

1、什么是SDK(Software Development Kit)

广义上的SDK:

  • 指的是为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合。
  • 比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编译,编译完它会调用iPhone的模拟器来运行,这就是SDK,提供整套的开发工具供开发者使用。

    第三方SDK

    • 主要有三种风形式:.jar、.so、.aar
      1. jar文件:Java 提供的SDK 文件类型,里面包含的是纯Java编译过后的代码
      2. so文件:一般是 C和 C++打包的成库的文件。
      3. aar文件:aar 名字来源于 Android Archive,见名知义,是一个 Android 库项目的二进制归档文件。aar 库文件里面,包含了 jar 和 so,还有资源res等文件,结构等同一个app。

      补充:什么是API(Application Programming Interface)

      • 翻译成中文就是"应用程式介面",其实这样翻译不好,应该说是"程式沟通介面"。
      • 翻译为介面,顾名思义就要沟通两个不同的东西用的,通常由一组函式库所组成。
      • 在一个 同一个平台 下的 两个不同东西(程式 or 系统),为了能取用对方的功能等等,所以一个 【程式X】 写了一组函式,让 同一平台的其他程式 取用 【程式X】 的功能,那组函式就可以说是那个 【程式X】 对外开放的 API。

        2、利用Android Stuido生成aar

        2.1、新建module

        2.2、创建方法,配置代码混淆

        • LeonAPI是暴露给外部的API,所以不能混淆,混淆后就找不到了
          package com.leon.leonlibimport androidx.annotation.Keep/** * 放置被代码混淆掉 ,在Kotlin中可以使用@Keep注解 */@Keepobject LeonAPI {    fun getCurrentTime(): String {        return "系统当前时间:${LeonTime().time()}"    }}
          • LeonTime实现业务功能的核心代码,需要混淆,防止被别人看到
            package com.leon.leonlibimport java.text.SimpleDateFormatimport java.util.Calendarclass LeonTime {    fun time(): String {        val currentDateTime = Calendar.getInstance().time        val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")        return formatter.format(currentDateTime)    }}
            • build.gradle(:leonlib)中配置代码混淆,若不配置,别人就可以看到我们的aar中的源码了。

              2.3、导出aar

              • 双击assembleRelease
              • 等待运行结束,便可以拿到aar
              • 混淆后的aar是看不到核心源码的,只能看到我们暴露的API类
                • 未混淆的aar可以看到核心源码

                  2.4、将aar给其他项目引用

                  • 将aar复制到其他module或其他项目的libs目录下
                    • 配置build.gradle(:app)
                    • 调用aar中的API

上一篇:梦想世界服务器怎么了?

下一篇:怎么用内网穿透开服务器?