您的位置:首页 > 移动开发 > Android开发

Android插件学习总结

2011-04-08 17:27 288 查看
webkit找插件的过程

1. PluginDatabase::defaultPluginDirectories()

2. GetPluginClient()->getPluginDirectories()

3. 因为JavaBridge继承自PluginClient,所以WTF::Vector<WebCore::String>JavaBridge::getPluginDirectories()

4. 找到mGetPluginDirectories这个方法,调用java的方法getPluginDirectories

5. private String[] JWebCoreJavaBridge::getPluginDirectories()

6. String[] PluginManager::getPluginDirectories()

7. 经过一系列的包的权限等的分析,把通过筛选的路径返回。

此上只是找到合适的路径,那么打开过程呢。

1. addExtraPluginDirectory或者installedPlugins

2. bool PluginDatabase::refresh()

3. PluginPackage::createPackage

4. PluginPackage::fetchInfo()

5. // Open the library

void *handle = dlopen(m_path.utf8().data(), RTLD_NOW);

如何在java里添加extra_plugin的路径

webkit_web_settings_add_extra_plugin_directory

loadJavaClass

anp_loadJavaClass

------------------------------------------------------------------------

private Class<?> getPluginClass(String libName, String clsName)

String getPluginsAPKName(String pluginLib)

pluginManager.getPluginClass(pkgName, clsName);

可见浏览器插件是跟apk绑定到一起的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: