文章用來記錄筆者接入X5瀏覽器的過程,和排查一些問題蔫仙,希望能幫到大家,有問題可以一起探討。當(dāng)前TBS SDK版本v3.1.0.1035
目錄
- TBS SDK快速接入
- TBS X5 Core和System Core之間如何切換
1. TBS SDK快速接入
sdk接入應(yīng)該不用多說了看官方文檔http://x5.tencent.com/tbs/guide/sdkInit.html 就可以了非常詳細(xì)够坐。
sdk官方例子http://x5.tencent.com/tbs/sdk.html
接入完不要忘記添加混淆,否則打開app就會崩潰而且查找起來非常麻煩。
2. TBS X5 Core和System Core之間如何切換
這里才是今天討論的關(guān)鍵元咙,我們在看官方文檔時http://x5.tencent.com/tbs/guide/sdkInit.html 梯影,有一個步驟是這么寫的。
第五步庶香、加載 x5內(nèi)核的操作方法
- 下載安裝TBSDemo到手機(jī) 點(diǎn)擊下載甲棍;
- 啟動 TBSDemo,等待幾秒鐘后看到提示框“x5內(nèi)核安裝成功赶掖,是否重啟”感猛,此時點(diǎn)擊“重啟”;
- TBSDemo重啟后倘零,當(dāng)看到左上角顯示“x5 core:”唱遭,然后可進(jìn)行下一步,否則請聯(lián)系我們呈驶;
- 卸載重裝您的App拷泽,保持手機(jī)網(wǎng)絡(luò)暢通,進(jìn)入您的App的網(wǎng)頁場景袖瞻,等待3秒后在手機(jī)設(shè)置里殺掉您的App司致,然后再次啟動您的App 進(jìn)入網(wǎng)頁場景,此時您的App就可以使用x5內(nèi)核了聋迎;備注說明:
由于微信手Q下載X5內(nèi)核會碰到流控等限制脂矫,操作門檻較高,所以通過前三步可以快速實(shí)現(xiàn)將TBSDemo中攜帶的X5內(nèi)核部署到手機(jī)上霉晕。
看過這段文字內(nèi)心肯定是崩潰的庭再,我要集成這個X5內(nèi)核還需要用戶下載一個TBSDemo這怎么行,而且操作還如此的復(fù)雜才可以下載X5內(nèi)核到本地牺堰,大家想想騰訊怎么可能搞一個這么傻X的SDK不被廣大開發(fā)者罵死嗎拄轻,其實(shí)SDK是通過共享使用用戶手機(jī)上微信、手機(jī)QQ伟葫、空間恨搓、QQ瀏覽器等軟件已經(jīng)下載好的X5內(nèi)核,其中微信筏养、手機(jī)QQ斧抱、空間必須打開App等一下(下載X5內(nèi)核需要時間)或者打開過網(wǎng)頁才可以否則本地是沒有下載X5內(nèi)核的,相信現(xiàn)在的手機(jī)上98%以上都會有這幾個App吧渐溶,但是對于追求極致的程序員來說那2%的用戶會怎么辦呢辉浦,就會引出下面兩個問題。
1.app在下載X5內(nèi)核過程中使用WebView app會崩潰嗎茎辐,還是用系統(tǒng)的webview宪郊。
2.當(dāng)下載下來的X5內(nèi)核不小心被刪除了怎么辦眉睹。
下面就來圖文講解一下X5內(nèi)核是如何下載到客戶端本地,如何加載到我們的App中的废膘。
首先竹海,手機(jī)上沒有安裝騰訊的任何軟件,微信丐黄,手Q等在SD卡的根目錄下不會出現(xiàn)tencent這個目錄如下圖:
53D36DB0-D726-4B67-8F20-A0564D979178.png
當(dāng)下載了微信登錄進(jìn)入微信在看這個目錄里面的結(jié)構(gòu)斋配,如下圖,出現(xiàn)了tbs這個文件夾
7A4E523C-7ED0-4E77-BD82-FE7BF1CD253C.png
進(jìn)入tbs這個文件夾發(fā)現(xiàn)有com.tencent.mm這個文件夾灌闺,這個文件夾下有x5.tbs.org艰争,這就是X5內(nèi)核了。
E2D2996F-4F28-45AE-99AC-74C719828DDF.png
B9E8335B-D521-4983-AD08-02A296651DF0.png
這個文件是因?yàn)槲业卿浟宋⑿抛詣酉螺d下來的桂对,其他接入了X5內(nèi)核的app都會找到這個內(nèi)核加載到自己的app中防止每個接入X5內(nèi)核的app都去下載一份甩卓,如果沒有找到本地X5內(nèi)核的app就會在tencent/tbs/backup/ 目錄下創(chuàng)建自己的包名,在包名下面下載內(nèi)核蕉斜,下載的內(nèi)核每個接入SDK的app都會使用逾柿。在正在下載內(nèi)核的過程中如果app想使用WebView會直接使用系統(tǒng)的WebView,當(dāng)下載完成App下次啟動就會使用X5內(nèi)核了宅此,所以說本地沒有X5內(nèi)核app也不會崩潰會使用系統(tǒng)的WebView机错。
還有如果不小心本地的X5內(nèi)核被刪除了怎么辦,我們首先刪除內(nèi)核在打開微信父腕,或者我們的Demo弱匪,發(fā)現(xiàn)還可以使用X5內(nèi)核,這就可以想到肯定是第一次加載X5內(nèi)核的時候?qū)⑺截惖絘pp的系統(tǒng)目錄下了璧亮,咱們?nèi)ハ到y(tǒng)目錄(/data/data/com.example.test_webview_demo/)下看看猜測是否正確萧诫,如下圖
DAEDF431-A187-43F7-A2B9-996621CE3E1C.png
果然在系統(tǒng)目錄下有app_tbs目錄,由此可以推斷在app加載X5內(nèi)核的同事將他復(fù)制到了系統(tǒng)目錄枝嘶,這樣一來無論sd卡目錄下是否保留著下載的內(nèi)核對于加載過的app來說是沒有影響的app會去的系統(tǒng)目錄找到內(nèi)核進(jìn)行使用帘饶,影響的只是沒有加載過的app它們會重新下載內(nèi)核。
結(jié)論
1.可以放心的使用X5內(nèi)核SDK會非常智能的選擇使用X5內(nèi)核還是使用系統(tǒng)的內(nèi)核躬络。
2.只要加載過X5內(nèi)核的app尖奔,內(nèi)核會加載到app的系統(tǒng)目錄和sd卡中的內(nèi)核沒關(guān)系搭儒。
3.接入完SDK不要忘記混淆穷当。