介绍 Android 封装 SDK使用前,先了解几个文件格式:

so 库:是 C 或 C++ 语言而打包成的库;

jar 包:里面包含了 class 文件与清单文件,不包括图片、页面等资源文件,是 Java 常用的方式;

aar 包:里面包含了所有资源,包括图片、页面等,是 Android 常用的方法;

了解完这三种文件格式,下面就来介绍一下用 AS 打 aar 包;

新建一个项目,完成后,点击 File ==> New ==> New Module ,如下图所示:

然后选择第二个 Android Library ,如下图所示:

然后完成即可,就可以看到,已经创建好了 Module ,如下图:

然后在 app 的 build.gradle 下添加下面的代码,应用 mylibrary :

implementation project(path: ':mylibrary')

如下图所示:

编译完成,为了测试 mylibrary 库,去添加一个 LibraryActivity ,里面的代码如下:

/**

* wuqingsen on 2019-11-21

* Mailbox:1243411677@qq.com

* annotation:

*/

public class LibraryActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_library);

}

}

新建  activity_library.xml 文件,代码如下:

代码添加完成,给出完整图片,方便观察:、

最后去 app 的 AndroidManifest.xml 文件中加入下面代码:

完整图片如下,不要加错了:

为了测试该 activity ,在 MainActivity ,加入跳转,代码如下:

public class MainActivity extends AppCompatActivity {

Button btn_SDK;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn_SDK = findViewById(R.id.btn_SDK);

btn_SDK.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(MainActivity.this, LibraryActivity.class);

startActivity(intent);

}

});

}

}

加入完成,运行,如下图所示:

可以看到,成功进入到的 SDK 中;

下面就来把 mylibrary 打包成 aar 格式的包,在 Terminal 中输入下面的命令,进行打包:

gradlew assembleRelease

打包成功,如下图所示:

然后去 mylibrary ==> build ==> outputs ==> aar 就可以看到我们打好的 aar 包了,如下图:

下面来测试一下这个 aar 文件是否可以正常使用,先将改 aar 文件放到 libs 文件夹下面,如下图:

再将 mylibrary 删除,点击 File ==> Project Structure ,方法如下图:

再去 app 下的 build.gradle 中添加如下代码:

implementation files('libs/mylibrary-release.aar')

如下图所示:

编译后,没有错误后,运行和上面 gif 图中效果一样就对了,OK 我报出了下面的错误:

Installation did not succeed.

The application could not be installed.

Installation failed due to: 'device 'DRGGAM0850203673' not found'

Retry

将手机上面的该 APP 卸载,再运行,OK 成功。

到这里, AS 封装一个 SDK 的简单实用就完成了,可以根据项目来改变 SDK 中的代码,以便别人使用。

如果有兴趣可以往下看;

打开我们的 mylibrary,可以看到里面包括 class 文件和 res 全部内容,如下图所示:

到这里就结束了。

android sdk的封装,Android封装SDK的使用相关推荐

  1. android 百度定位 封装,百度定位SDK使用V4.0

    前言:最近在做一个应用,要用到LBS定位,本想自己写,可技术还是不到位,而且时间也不多了,还是以先实现为主吧,然后就研究百度的LBS定位,谷歌的也有LBS定位服务,但总感觉谷歌大神被赶到香港以后,就一 ...

  2. 社会化登录分享-Android SDK的二次封装和使用

    本系列文章将第三方的登录分享功能进行二次封装,统一接口调用,简化了接不同平台登录分享的步骤. 0 系列文章 系列一 Android SDK的二次封装和使用 系列二 源码解析 系列三 微信SDK接入 系 ...

  3. android 语音转换文字(科大讯飞SDK简易封装)

    简介:本地讲解的是 科大讯飞开发平台的语音转换功能的集成方法和封装 准备工作: 1.首先申请平台账号,创建我的应用,新增语音服务,获取Appid 2.下载创建的应用的对应SDK,这条很重要,每一个应用 ...

  4. OpenCV android sdk配置OpenCV android NDK开发实例

    OpenCV android sdk配置OpenCV android NDK开发实例 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/det ...

  5. Android Studio使用AIDL技术进行SDK开发

    前面我们有介绍AIDL的基本用法: Android进程间通信--AIDL Android进程间通信--AIDL Binder连接池 现在我们来介绍利用AIDL来实现一个简陋的SDK,将获取用户信息的方 ...

  6. android支付宝支付微信支付封装,如何在Android App中集成支付宝和微信支付功能

    前言 本文主要介绍如何在 Android App 里集成支付宝和微信支付的功能,文中将实现的步骤一步步介绍的非常详细,对同样遇到这个问题的朋友相信会是一个很好的参考,下面话不多说了,来一起看看详细的介 ...

  7. Android平台上集成海康SDK(二)

    Android平台上集成海康SDK 以上是我之前写的一篇Android平台上集成海康SDK的文章,其中对于Android平台上集成海康SDK.基于海康SDK进行二次开发基本上进行了详细地介绍. 这篇文 ...

  8. android 微博功能实现,Android SDK说明文档

    概述 微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程.并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的 ...

  9. Android对方向感应器的封装调用

    Android自动的SensorManager使用起来已经很方便,但由于一些情况我们希望对其中的功能进行封装: 只使用个别的sensor,功能相对单一 要对sensor返回的raw data进行算法处 ...

  10. 虹软人脸识别 SDK 使用 Unity Android C# Java多语言开发 2021-09-06

    Unity接入虹软人脸识别Android版SDK == 自改aar包开发Android应用 下方有下载链接所有 demo aar 包== 文章目录 Unity接入虹软人脸识别Android版SDK 简 ...

最新文章

  1. idea新建项目写html5,Intellij IDEA搭建vue-cli项目
  2. HDU2034 人见人爱A-B
  3. 从零单排Java 8(2) —— Timestamp、String互转
  4. libevent evhttp学习——http客户端
  5. LeetCode--81. 搜索旋转排序数组Ⅱ(遍历法,二分法)
  6. C语言之-fPIC编译与代码位置无关.a/.so库(二)
  7. Python文件之----CSV
  8. python tornado 模板扩展
  9. java生成dump文件_dump文件生成和分析查看
  10. JAVA调用 TSC 打印机 打印中文问题/JNA中文乱码
  11. 触摸按键设计参考与问题总结
  12. [数据库]MySQL表分区
  13. pytorch:自定义损失函数total variation loss
  14. #6279. 数列分块入门 3
  15. 安卓FTP客户端无法连接FTP服务器FineFTP
  16. 泛微--考勤 加班申请: 加班天数不对。
  17. 中国电信-天翼云-云监控
  18. vue 强制刷新子组件
  19. 安装完linux后要做的几件事。
  20. 美颜神器——快速集成华为HMS ML Kit人脸检测实现大眼瘦脸

热门文章

  1. 【元胞自动机】基于元胞自动机实现交通流NaSch模型matlab源码
  2. PDF417打印后扫描不出来(记录)
  3. win10 升级出现0x80004002
  4. 大学生创新创业计划-2019
  5. 只用一招!Python实现微信防撤回!
  6. VB实现人民币大小写金额转换
  7. 漏洞CNNVD-201805-248的复现与提权
  8. 三菱PLC的编程语言有指令表、梯形图、步进SFC
  9. ABAQUS单位统一
  10. 如何有效的进行项目进度计划