Android 利用反射+try catch實現(xiàn)sdk按需引入依賴庫的方法
Android開發(fā)sdk過程中,很有可能在sdk內(nèi)部引入其他的三方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接收,不至于閃退,簡單方便~
到此這篇關(guān)于Android 利用反射+try catch實現(xiàn)sdk按需引入依賴庫的方法的文章就介紹到這了,更多相關(guān)Android實現(xiàn)sdk按需引入依賴庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android Rsa數(shù)據(jù)加解密的介紹與使用示例
RSA是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。它易于理解和操作,也很流行。想起自己曾經(jīng)使用過的Rsa非對稱加密算法,閑下來總結(jié)一下。方便自己和大家以后使用的時候參考借鑒。下面來一起看看吧。2016-09-09Android Studio實現(xiàn)華為手機的充電動畫效果
本篇文章介紹了我參照華為手機的充電動畫來仿照實現(xiàn)的樣例,這個動畫并不難實現(xiàn),不過案例精簡具有參考意義,需要的朋友快往下看吧2021-10-10Android App中用Handler實現(xiàn)ViewPager頁面的自動切換
這篇文章主要介紹了Android App中用Handler實現(xiàn)ViewPager頁面的自動切換的方法,類似于相冊自動播放,主要是切換后要提示當(dāng)前頁面所在的位置,需要的朋友可以參考下2016-05-05android通過自定義toast實現(xiàn)懸浮通知效果的示例代碼
這篇文章主要介紹了android通過自定義toast實現(xiàn)懸浮通知效果,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10深入淺析Android手機衛(wèi)士保存密碼時進(jìn)行md5加密
一般的手機沒有root權(quán)限,進(jìn)不去data/data目錄,當(dāng)手機刷機了后,擁有root權(quán)限,就可以進(jìn)入data/data目錄,查看我們保存的密碼文件,因此我們需要對存入的密碼進(jìn)行MD5加密,接下來通過本文給大家介紹Android手機衛(wèi)士保存密碼時進(jìn)行md5加密,需要的朋友一起學(xué)習(xí)吧2016-04-04Android DrawerLayout布局與NavigationView導(dǎo)航菜單應(yīng)用
這篇文章主要介紹了Android DrawerLayout抽屜布局與NavigationView導(dǎo)航菜單應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01