随着IOS系统不再支持Flash,FLASH已经差不多快要被HTML5取代。但是国内网站还是有大部分在PC、MAC播放时还是用的flash,在云桌面进行Flash网页视频播放并且重定向到云终端时,云终端也不可避免的需要进行flash播放,那么如果云终端是android系统,这个问题就需要进行适配了。
从android4.4开始,系统自带的浏览器也就不再支持flash插件了,那么要在Android4.4系统支持flash播放,我们也就需要想办法进行一些移植。当然市面也有支持flash网页播放的浏览器,以下主要介绍如何自己实现flash的支持
第一步,我们从android4.3的系统代码中将与浏览器相关的代码挪到android4.4,主要包括java层的webview,为了与系统的webview进行区分,我们将相关的类进行改名,后期java层的调用就用这些已经改名的类
第二步,将framework层extern目录下的webkit也挪到android4.4,将编译出问题的相关依赖也进行移植并修改为编译成静态库
第三步,经过上面两步后,已经可以自己的webview进行普通网页浏览了,但是要浏览flash网页的话还需要对webkit代码进行修改,因为flash插件原来是在android4.4以下系统调用,与surface相关的实现在android4.4上已经进行部分修改,有些函数在android4.4上已经不存在了。幸好这些函数在android4.3上也只是个空实现,那么我们可以在加载这个插件的时候,将这几个函数指向为我们自己的空实现,也就是修改webkit中的dlopen和dlsym这几个函数为自己的函数
经过上面几步后就已经可以实现网页flash播放了