赞
踩
开发SDK,拒绝重复造轮子。
本文陈述两种SDK开发方式,第一种AAR方式;第二种远程依赖方式。
具体步骤分为:
一、如何开发SDK?
二、如何打包AAR?
三、如何打包AAR?
四、如何进行SDK远程托管?
五、如何升级远程托管SDK版本?
本文开发一个打印日志工具作为SDK开发示例。
首先创建module(Android library),写入功能代码即可。创建module library示意图如下:
sdk是测试打包工具,内部只包含一个NLog日志打印工具类,工具类包含打印debug、error、ignore三级日志方法、设置日志开关的方法及设置日志过滤方法。
日志工具代码块
/** * 日志输出工具 */ public class NLog { // 日志过滤 public static String TAG = "nlog"; // 当前等级,用于控制打印哪一级日志 private static int level = 0; // debug 日志等级 public static final int DEBUG = 1; // ignore 日志等级 public static final int IGNORE = 2; // error 日志等级 public static final int ERROR = 3; /** * 打印debug日志 * @param s */ public static void d(String s){ if (level < DEBUG){ Log.d(TAG,s); } } /** * 打印ignore日志 * @param i */ public static void i(String i){ if (level < IGNORE){ Log.i(TAG,i); } } /** * 打印error日志 * @param e */ public static void e(String e){ if (level < ERROR){ Log.e(TAG,e); } } /** * set isPrint log * @param mLevel 打印日志的等级 */ public static void setSwitch(int mLevel){ level = mLevel; } /** * 设置日志过滤 * @param tag */ public static void setTag(String tag) { TAG = tag; } }
这个日志工具类供外部调用,接下来我们使用Android studio自带的gradle工具打包aar。
我使用gradle的assembleRelese或者bundleReleaseAar来生成aar包的。直接使用Android
studio 自带的gradle工具栏进行AAR打包操作。
1、打开AS左侧gradle工具栏,找到打包目标module->gralde->tasks->other,
找到assembleRelese或者bundleReleaseAar。选中双击即可。
2、如果不选择开源,可以在打包前开启混淆,在打包后进行壳加固。开启源码保护。
混淆规则,此处不介绍,可直接搜索。
3、打包结束后,输出的aar包在nadesdk\build\outputs\aar文件下。
4、注意,如果在AS右侧gradle工具烂里找不到。可以按照示例图进行设置。
如未立即生效,重启AS。然后执行二、1步骤打包AAR。
在需要的module的build.gradle配置文件添加引用即可。
在项目添加AAR文件包,添加AAR引用。
android {
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
implementation files('libs/nadesdk-release.aar')
}
测试SDK提供的日志输出:
NLog.d("test app module add arr libaray")
达到预设目标,此时开发SDK完成。
远程托管SDK的目的是开源代码供各位同行一起讨论探讨,也方便管理SDK版本。
SDK开发完成后,创建远程仓库(jitpack,Maven仓库)。把SDK推送到远程仓库托管,通过implementation引用到项目中使用。
方式:我将项目托管到GitHub平台(GitHub作为仓库托管平台,SDK版本分支管理),再通过jitpack生成Maven仓库动态连接。注册GitHub平台、jitpack使用授权GitHub账号登录。
传送门
https://jitpack.io/
https://github.com/
项目推送到托管到github,这里不多说。这里只说如何生成动态连接。
1、创建git远程仓库时,一定注意:选公开(public),jitpack只能拉取到公开仓库。
如图:
2、推送SDK代码
3、以SDK版本,创建release。如图:
4、复制release节点仓库地址,生成SDK。
5、打开jitpack平台,拉取release仓库代码,生成SDK仓库地址。
6、通过implementation引用远程仓库,使用SDK。
如何使用,如图。
1、上传更新代码后,新增release节点。
2、打开jitpack平台,复制GitHub节点连接,拉取节点仓库代码。
3、拉取release节点代码,生成SDK仓库地址。
implementation 'com.github.394646857:nadesdk:v1.0.1'
NLog.d("test app module add arr libaray")
测试效果达到预设目标,SDK远程托管完成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。