轉(zhuǎn)載自:
http://blog.csdn.net/primer01/article/details/50888752
一赊瞬、原理
集成X5的SDK的意思是如果手機里有X5 WebKit存在先煎,我們的APP就會盡可能使用它。比如我們手機安裝了微信巧涧、手Q薯蝎、QQ瀏覽器,那么X5 WebKit就存在谤绳。至于盡可能使用它請參考:http://bbs.mb.qq.com/thread-286135-1-1.html?fid=92
二占锯、坑
1袒哥、我將html文件放到/data/data/com.example.demo/files/ 里面去了,結(jié)果發(fā)現(xiàn)X5根本無法讀取消略,后來通過跟騰訊工作人員溝通堡称,原來老版本的WebKit只允許讀取/sdcard 和私有目錄下的/data/data/com.example.demo/files/public目錄,其他目錄的調(diào)用都被禁止了艺演,通過X5 Demo知道我手機上的X5版本是2258却紧,而新的版本如3321已經(jīng)不再限制了煞茫。
2艾岂、騰訊X5官網(wǎng)沒有寫赘那,原來App集成X5后還要到官網(wǎng)http://x5.tencent.com/ 的開發(fā)者后臺去登記App褪秀,獲得一個QBSDKAppKey其弊,然后放到AndroidManifest.xml里面去睛低,具體可參考官網(wǎng)文檔偎谁。
3剖淀、js調(diào)用java的方法肿男,share(int id)介汹,結(jié)果發(fā)現(xiàn)一直傳回來的id是null,經(jīng)過研究才發(fā)現(xiàn)次伶,在js傳遞的參數(shù)必須在js中先轉(zhuǎn)為String類型痴昧。另外x5內(nèi)核貌似不支持方法重載。
4冠王、繼續(xù)更新中...
三赶撰、其他方案的評價
目前是有Hybird App的開發(fā)有以下幾種方案:
1、AppCan柱彻、AppCloud等:集成了原生API豪娜,可用js調(diào)用,簡單快速哟楷,瘤载;
2、使用CrossWalk 卖擅,將瀏覽器內(nèi)核(WebKit)集成到APP里鸣奔,這個方案估計淘寶、天貓都在用吧惩阶,不知道他們是不是使用CrossWalk挎狸。但是APP的體積會增加15M;
3断楷、集成X5的SDK意思是如果手機里有他們的X5 WebKit存在锨匆,APP就會盡可能使用它;
4冬筒、調(diào)用系統(tǒng)的WebKit恐锣,Android機型眾多茅主,參差不齊,兼容性差土榴。
以上方案沒有優(yōu)劣之分诀姚,需要根據(jù)需求來看具體側(cè)重哪一方面。