Android 利用反射+try catch實現(xiàn)sdk按需引入依賴庫的方法
Android開發(fā)sdk過程中,很有可能在sdk內部引入其他的三方sdk庫。比如開發(fā)sdk過程中可能同時包含Google和Facebook等SDK。但是接入方如果只想要接入包含Google登錄的SDK要怎么辦呢,gradle想只依賴Google的庫不依賴Facebook可以實現(xiàn)嗎?本文簡單利用反射+try catch即可實現(xiàn)按需接入,無需再新建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包起來,參數(shù)為三方sdk完整類名(包名+類名)
Class classGoogleSignIn = Class.forName("xxx");
這樣接入方直接引用自己想要接入的庫就好了,未引用的類報錯會被catch接收,不至于閃退,簡單方便~
到此這篇關于Android 利用反射+try catch實現(xiàn)sdk按需引入依賴庫的方法的文章就介紹到這了,更多相關Android實現(xiàn)sdk按需引入依賴庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android基于ViewPager實現(xiàn)類似微信頁面切換效果
這篇文章主要介紹了Android基于ViewPager實現(xiàn)類似微信頁面切換效果,通過Fragment適配器實現(xiàn)頁面切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
Android 根據EditText搜索框ListView動態(tài)顯示數(shù)據
這篇文章主要介紹了Android 根據EditText搜索框ListView動態(tài)顯示數(shù)據的相關資料,需要的朋友可以參考下2016-09-09
Android中Market的Loading效果實現(xiàn)方法
這篇文章主要介紹了Android中Market的Loading效果實現(xiàn)方法,較為詳細的分析了Android中l(wèi)oading效果的相關布局及功能實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10
Android自定義ViewGroup之FlowLayout(三)
這篇文章主要為大家詳細介紹了Android自定義ViewGroup之FlowLayout,常用于關鍵字標簽,搜索熱詞列表等功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09
clipse項目遷移到android studio的方法(圖文最新版)
這篇文章主要介紹了clipse項目遷移到android studio(圖文最新版),需要的朋友可以參考下2015-10-10
Android實現(xiàn)簡易的柱狀圖和曲線圖表實例代碼
柱狀圖是統(tǒng)計圖表中經常用到的一種圖表,比如降雨量之類的統(tǒng)計展示。這篇文章主要給大家介紹了關于利用Android如何實現(xiàn)簡易的柱狀圖和曲線圖表的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。2017-12-12

