Android 利用反射+try catch实现sdk按需引入依赖库的方法

 更新时间:2020年11月03日 10:31:09   作者:ChrisZhao520  
这篇文章主要介绍了Android 利用反射+try catch来实现sdk按需引入依赖库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

        Android开发sdk过程中,很有可能在sdk内部引入其他的三方sdk库。比如开发sdk过程中可能同时包含Google和Facebook等SDK。但是接入方如果只想要接入包含Google登录的SDK要怎么办呢,gradle想只依赖Google的库不依赖Facebook可以实现吗?本文简单利用反射+try catch即可实现按需接入,无需再新建module和考虑代码分离的问题。

        在自己SDK代码中使用三方sdk的地方做如下处理:

原代码:

Intent googleSignInIntent = GoogleSignIn.getClient(mLoginActivity, mSignInOption).getSignInIntent();
if (googleSignInIntent != null)
{
  mLoginActivity.startActivityForResult(googleSignInIntent, requestCode);
}

处理后的代码:

try
{
  Class classGoogleSignIn = Class.forName("com.google.android.gms.auth.api.signin.GoogleSignIn");
  Intent googleSignInIntent = GoogleSignIn.getClient(mLoginActivity, mSignInOption).getSignInIntent();
  if (googleSignInIntent != null)
  {
    mLoginActivity.startActivityForResult(googleSignInIntent, requestCode);
  }
}
catch (Exception e)
{
  e.printStackTrace();
}

即在使用三方sdk代码之前加上类反射的代码,再用try+catch包起来,参数为三方sdk完整类名(包名+类名)

Class classGoogleSignIn = Class.forName("xxx");

这样接入方直接引用自己想要接入的库就好了,未引用的类报错会被catch接收,不至于闪退,简单方便~

到此这篇关于Android 利用反射+try catch实现sdk按需引入依赖库的方法的文章就介绍到这了,更多相关Android实现sdk按需引入依赖库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android自定义ListView单击事件失效的解决方法

    Android自定义ListView单击事件失效的解决方法

    这篇文章主要为大家详细介绍了Android自定义ListView单击事件失效的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android监听软键盘弹出与隐藏的两种方法

    Android监听软键盘弹出与隐藏的两种方法

    本篇文章主要介绍了Android监听软键盘弹出与隐藏的两种方法,非常具有实用价值,需要的朋友可以参考下
    2017-04-04
  • Android主项目与Module中R类的区别详解

    Android主项目与Module中R类的区别详解

    这篇文章主要给大家介绍了关于Android主项目与Module中R类的区别的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • Kotlin条件控制语句汇总讲解

    Kotlin条件控制语句汇总讲解

    条件控制是每门编程语言中必不可少的,一般就是使用我们所熟知的 ifelse ,来作为我们代码逻辑选择条件控制。 在 Java 中一般使用 ifelse 和 switch-case 来作为条件控制,而在 Kotlin 中则是使用 if-else 和 when 来作为条件控制
    2022-09-09
  • android隐式意图激活浏览器的实现方法

    android隐式意图激活浏览器的实现方法

    下面小编就为大家带来一篇android隐式意图激活浏览器的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Android中使用PopupWindow 仿微信点赞和评论弹出

    Android中使用PopupWindow 仿微信点赞和评论弹出

    微信朋友圈的点赞和评论功能,有2个组成部分:左下角的“更多”按钮;点击该按钮后弹出的对话框。这篇文章主要介绍了Android中使用PopupWindow 仿微信点赞和评论弹出,需要的朋友可以参考下
    2017-04-04
  • Android 隐藏底部虚拟键的两种方法

    Android 隐藏底部虚拟键的两种方法

    本文通过实例代码给大家讲解了Android 隐藏底部虚拟键的两种方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • 手势滑动结束Activity基本功能的实现(一)

    手势滑动结束Activity基本功能的实现(一)

    这篇文章主要为大家详细介绍了手势滑动结束Activity基本功能的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 基于Android实现3D翻页效果

    基于Android实现3D翻页效果

    这篇文章主要为大家详细介绍了基于Android实现3D翻页效果的具体代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 实例详解用户输入 i. 检测常用手势

    实例详解用户输入 i. 检测常用手势

    通过本段代码给大家介绍当用户输入i检测常用手势的相关内容,代码简单易懂,感兴趣的朋友一起学习吧
    2016-01-01

最新评论