手把手教学:如何引入 SDK

举报
小西2333 发表于 2021/12/15 14:44:31 2021/12/15
【摘要】 闲言碎语不要多说,在明白了怎么写 SDK 之后,还是来看看引入 SDK 吧

在上期文章中,我们依然以手把手的形式完成了自己编写一个 iOS 与 Android 的第三方 SDK,但在实际的研发工作中,纯靠自己手写 SDK 毕竟是少数情况,在常见的大多数时候,还是需要引入第三方 SDK。

于是在这一期文章中,我们就一起来看看如何在 iOS 与 Android 应用中引入我们在上一篇文章中写好的 SDK。

本期文章属于《手把手系列教学》的第三篇,如果你还不太了解这一系列,可以点击 这里 查看详情。

在 iOS 环境下引入 SDK

1. 新建工程,命名为 ADemo(如果你又一次忘记了怎么新建工程,点击这里回顾

2.  将我们在第二篇文章中创建好的动态库,拖进工程

将选中的文件夹拖入工程即可

3. 修改相应配置

既然引入了第三方 SDK,那就需要在这里建立关联与依赖

4. 在 ViewController 补充测试代码,并运行

如果运营成功,你会看到“吃骨头”的提示

在 Android 环境下开发 SDK

与 iOS 工程不一样,在 Android 环境中引入第三方 SDK,我们会通过 Gradle 来进行管理。

Gradle 是 Android 构建的主要组成部分, 依赖也是由 Gradle 管理,可以点击这里查看其官方文档。与 iOS 应用不一样,通过 Gradle 引入的 SDK 既可以存在于本地系统中,也可以存在于远程的代码库之中。不论存在于哪里,SDK 所声明的所有传递依赖都会被自动集成在项目之中。

1. Android Studio 导入外部 SDK 的三种方式

在 Android Studio 中,一共有以下 3 种方式导入外部 SDK ,让我们一起看看。

  • Library Dependency:需联网下载;
  • Jar/aar Dependency:添加本地 jar 包,添加前要先将 jar 包放到项目的 libs 目录下;
  • Module Dependency:添加本地带有源码的库工程,添加前要先将 module 导入项目;

第一种方式:Library Dependency(远程依赖)

首先点击 File Structure 查看文件结构再切换至 Dependencies 中,就能看到对应的第三方 SDK 了如果我们直接点击上图中的加号,就可以在这里通过“远程依赖”的方式引入 SDK

第二种方式:Jar/aar Dependency(本地依赖)

我们如果直接把第三方库拖入工程,就是通过“本地文件”的方式引入 SDK

在引入 aar 之后,还需要在本地配置目录

 sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

再添加依赖关系

implementation(name: 'GPush-release', ext: 'aar')

第三种方式:Module Dependency(源码依赖)

在这里,我们尝试以 这个 CircleImageView 例子 引入该库

首先我们需要先将代码库 clone 到本地

cd ~/downloads/
git clone https://github.com/hdodenhof/CircleImageView.git 

然后我们点击这里的 Import Module 进行引入再选中 clone 在本地的代码库

别慌,如果说 import module 无法识别无法导入,那就只能手动导入了

第一步,拷贝源码到我们的工程

cp -r ~/Downloads/CircleImageView/circleimageview .    

第二步,在 setting.gradle 这个文件添加这一行内容

include ':circleimageview'

这样 Android Studio 就能识别到我们导入的项目了!

于是我们再次回到 Android Studio 中,添加工程依赖

分别点击 Project Structure - Modules - Declared Dependencies 到最后的加号在这里选中 circleImageView

最终点击 OK 和 Apply ,就能成功的引入这个第三方依赖库了。


本期教程依然基于 mac 电脑进行实现,如果你的电脑是 Windows 或者其他操作系统,还需要进行一些其他的灵活配置。

在下一期的文章中,我们将会一起聊聊如何写出 SDK ,并且将 SDK 引入到移动应用中,敬请期待。

说明:本教学系列均由FinClip 工程师出品。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。