Android 利用反射+try catch实现sdk按需引入依赖库的方法
Android开发sdk过程中,很有可能在sdk内部引入其他的三方sdk库。比如开发sdk过程中可能同时包含Google和Facebook等SDK。但是接入方如果只想要接入包含Google登录的SDK要怎么办呢,gradle想只依赖Google的库不依赖Facebook可以实现吗?本文简单利用反射+trycatch即可实现按需接入,无需再新建module和考虑代码分离的问题。
在自己SDK代码中使用三方sdk的地方做如下处理:
原代码:
IntentgoogleSignInIntent=GoogleSignIn.getClient(mLoginActivity,mSignInOption).getSignInIntent();
if(googleSignInIntent!=null)
{
mLoginActivity.startActivityForResult(googleSignInIntent,requestCode);
}
处理后的代码:
try
{
ClassclassGoogleSignIn=Class.forName("com.google.android.gms.auth.api.signin.GoogleSignIn");
IntentgoogleSignInIntent=GoogleSignIn.getClient(mLoginActivity,mSignInOption).getSignInIntent();
if(googleSignInIntent!=null)
{
mLoginActivity.startActivityForResult(googleSignInIntent,requestCode);
}
}
catch(Exceptione)
{
e.printStackTrace();
}
即在使用三方sdk代码之前加上类反射的代码,再用try+catch包起来,参数为三方sdk完整类名(包名+类名)
ClassclassGoogleSignIn=Class.forName("xxx");
这样接入方直接引用自己想要接入的库就好了,未引用的类报错会被catch接收,不至于闪退,简单方便~
到此这篇关于Android利用反射+trycatch实现sdk按需引入依赖库的方法的文章就介绍到这了,更多相关Android实现sdk按需引入依赖库内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
热门推荐
10 装修店庆祝福语简短
11 外婆祝福语短句唯美简短
12 参加儿子大学祝福语简短
13 舅妈生日红包祝福语简短
14 同学有弟弟祝福语简短
15 近代生日祝福语简短精辟
16 关于开车的祝福语简短
17 学生开心成语祝福语简短
18 孙女结婚姥姥祝福语简短