上海千语创想科技有限公司
 175-2108-6175
网站建设资讯详细

SDK开发流程详解

日期:2021-12-25  作者:千语创想  浏览:6377

本文分为三个部分:


  1. SDK“坑不坑”?

  2. SDK“难不难”?

  3. 如何封装用户接口?

  4. Android Studio 打包混淆aar


1 . SDK“坑不坑”? 
没有接触过SDK研发的人可能不觉得,SDK研发费时费力,并且没有什么成就感。你写的做的,最终结果你并不能看到。最重要的是,一个SDK完成后,你会感觉到居然什么都没有得到?(有点小夸大哦)当对于普通的APK研发,SDK还是比较坑的。


2 . SDK“难不难”? 
在eclipse时代,怎么加载类?怎么加载资源?怎么让开发者更快更简单的接入?还是比较困难的。


3 .如何封装用户接口? 
以上两点都是在扯。言归正传,如何让自己的SDK更安全?让自己的逻辑对用户完全透明? 
* 利用好混淆 
* 建造者模式 
先看下我SDKdemo的目录结构 

这里写图片描述


总体的架构采用MVP。最近超喜欢用这种模式,比MVC更好理解,解耦性更好,就是接口写的多了点。重点看admin包。这个包的主要功能是暴露给用户的。也就是说SDK中一切提供给用户的API接口都写在这个包中。当混淆时候只忽略这一个包即可。建造者模式构建用户接口,优缺点不必多说。唯一重点想提的一个小细节。


  1. @Override

  2. public void GoToActvity(Context context) {

  3. if (Constant.sdkInstance.getUserAppName() == null)

  4. throw new IllegalArgumentException("UserAppName can not be null");

  5. if (Constant.sdkInstance.getUserChannel() == null)

  6. throw new IllegalArgumentException("UserChannel can not be null");

  7. if (Constant.sdkInstance.getUserKey()==null)

  8. throw new IllegalArgumentException("UserKey can not be null");

  9. Intent intent = new Intent(context, SdkActivity.class);

  10. context.startActivity(intent);

  11. }

    像这种异常一定要跑出来让接入者看到,会让你省去很大麻烦。demo我会在最后贴出下载地址。


    4.Android Studio 打包混淆aar 
    首先配置混淆,在你的SDK项目build.gradle中配置,如图 

    这里写图片描述


    其次配置你的proguard-rules.pro文件,这里提供一个模版哦, http://www.jianshu.com/p/f3455ecaa56e  非常不错。然后就可以生成aar包了,第一你可以运行下项目(这种太low)。或者你可以在控制台下输入gradlew如图。 

    这里写图片描述


    最终你的aar会生成在这里。。。上图


    这里写图片描述


    对了,如何使用aar那?


    这里写图片描述 


    具体代码详情请看github


    下载地址:https://github.com/duanyikang/Develop-SDK


    来千语创想移动应用开发平台学习更多APP开发知识:app开发app制作app开发源码下载app开发框架app制作模板等免费获取。千语创想支持APP定制开发,一键网站自动生成app网站转app网站封装app,有网站即可生成自己的app。

     

    立即免费在线制作一个APP,新手注册即送开发大礼包

    提交app定制需求,免费获取报价和周期:

    电脑请点击https://www.qianyuthink.com/?url=/index?uzchannel=500

    手机请点击https://www.qianyuthink.com/?url=/m/quickaddcustom



    转载请注明来自:https://www.qianyuthink.com/news/6393.html

    填写您的项目需求给我们

    或者直接拨打 7×12小时一对一咨询电话

    175 2108 6175

    请填写需求信息,我们会在10分钟内与您取得联系

    请认真填写需求信息,我们会在10分钟内与您取得联系

    ×
    客服二维码
    咨询技术总监
    175-2108-6175
    客服二维码
    技术总监微信
    客服二维码