https://www.cnblogs.com/snowyying/p/5458765.html

https://blog.csdn.net/y601500359/article/details/72821974

https://www.pressc.cn/1049.html(比较详细)

Pepper Plugin API (PPAPI) plugins 是 Google 在原有网景 NPAPI(Netscape Plugin API) 基础上开发全新浏览器插件,它将外挂插件全部放到沙盒里运行,具有更高的安全性。 PPAPI 目前支持 Chrome 浏览器及基于 Chromium 内核的浏览器。

PPAPI 基于 Google Native Client 技术实现,所以,这篇文章将讲述如何下载、安装和配置 Google Native Client SDK。

当前系统版本为 Windows 10 64 位,开发环境为 Visual Studio 2017,由于众所周知的原因,下载和配置 Native Client SDK 需要借助网络工具 。

值得一提的是,2016年10月12日,一篇关于 Chromium 问题追踪的评论指出,谷歌的 Pepper 和 Native Client 团队已经被解散了。在2017年5月30日,谷歌宣布停止支持 PNaCl ,拥抱 WebAssembly。

需求

  • Native Client SDK,在 https://developer.chrome.com/native-client/sdk/download 下载
  • Python 2.7,确保 Python 可执行文件在 PATH 变量中,Python 3.x 还不支持。
  • Make, Windows 平台上,GNU Make 包含在 Native Client SDK 中。其他平台需要自行安装。

安装 SDK

首先下载 Native Client SDK,下载完成后解压 nacl_sdk.zip,以管理员身份打开命令提示符,进入 nacl_sdk 目录。

  1. 想要查看已经安装或未安装的 SDK 捆绑包,可以通过 list 命令。
    在 Mac/Linux 平台:

    $ cd nacl_sdk
    $ ./naclsdk list

    在 Windows 平台:

    > cd nacl_sdk
    > naclsdk list

    你应该会看到类似的输出:

    Bundles:
    I: installed
    *: update availableI  sdk_tools (stable)I  vs_addin (dev)pepper_47 (post_stable)I  pepper_49 (stable)pepper_50 (beta)pepper_55 (beta)pepper_56 (dev)pepper_canary (canary)

    其中 I 表示已经安装的捆绑包,* 表示可以更新的捆绑包。
    post_stable 为前一个稳定版本
    stable 为稳定版,推荐追求稳定的普通用户使用,更新最慢。
    beta 为测试版,有一定新功能,但是可能会存在不稳定情况,适合喜欢尝鲜的朋友使用,更新速度一般。
    dev 为开发版,更新最快,新功能最多,但是可能非常不稳定,适合开发人员使用

  2. 使用 naclsdk update 命令下载推荐的捆绑包,他将会下载当前的 “stable” 捆绑包。 
    在 Mac/Linux 平台:

    $ ./naclsdk update

    在 Windows 平台:

    > naclsdk update
  3. 如果想要安装指定的捆绑包,可以执行

    $ ./naclsdk update pepper_36
  4. 可以通过 naclsdk update --force 命令升级捆绑包
  5. 可以使用 naclsdk help 命令查看软件帮助。

可能是由于使用了网络工具,执行 naclsdk update 命令时遇到了下面的错误:

third_party.fancy_urllib.InvalidCertificateException: Host storage.googleapis.com returned an invalid certificate ([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)):
To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl

这是由于 HTTPS 证书引起的问题,我用的解决办法是将 HTTPS 替换为 HTTP。

打开 nacl_sdk\sdk_tools 目录下的 download.py 文件,修改 UrlOpen 方法为:

def UrlOpen(url):request = fancy_urllib.FancyRequest(url.replace("https://", "http://"))ca_certs = os.path.join(SCRIPT_DIR, 'cacerts.txt')request.set_ssl_info(ca_certs=ca_certs)#url_opener = urllib2.build_opener(#    fancy_urllib.FancyProxyHandler(),#    fancy_urllib.FancyRedirectHandler(),#    fancy_urllib.FancyHTTPSHandler())url_opener = urllib2.build_opener()url_opener.addheaders = [('User-agent', 'Mozilla/5.0')]return url_opener.open(request)

安装 vs_addin

刚更新下来的 nacl_sdk 没有 vs_addin,需要用命令 naclsdk update sdk_addin 进行安装(Win10 下需要管理员权限)。默认安装的 vs_addin 只支持 VS 2010 和 VS 2012,如果想要支持 VS 2017 则需要更改 install.py 和create_ppapi_platform.py 文件,增加两个文件夹,修改 PPAPI_Patch 文件夹里面的相关文件。

可以下载修改好的 vs_addin 文件,也可以根据需要自行修改。

然后需要设置环境变量 “NACL_SDK_ROOT” 指向 nacl_sdk (本文为 papper_49) 的路径,NACL_SDK_ROOT = D:\Thirdparty\nacl_sdk\pepper_49 ;环境变量 “CHROME_PATH” 指向 "Chrome.exe" 的路径,CHROME_PATH = C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

最后进入 sdk_addin 目录,执行 install 命令安装,安装完成后可以看到 Visual Studio 的解决方案平台在 x64 和 x86 的基础上新增了 NaCl32NaCl64NaClARMPNaCl 和 PPAPI

更详细的信息请参看 官方文档。

设置 Chrome

最后需要设置 Chrome 以启用 Native Client 支持:

  1. 在 Chrome 浏览器地址栏中输入"chrome://flags"
  2. 将 #enable-nacl#enable-nacl-debug、及 #allow-nacl-socket-api 设为启用
  3. 在 Chrome 浏览器地址栏中输入"chrome://nacl",检查 nacl 是否启用成功 

至此,PPAPI 插件开发环境配置完成!!!

Chrome PPAPI 开发环境相关推荐

  1. VS 2013 Chrome PPAPI 开发环境

    当前系统版本为 Windows 8.1 x64, Chrome 版本为 50.0 1. 准备工作 下载并安装 Python https://www.python.org/download/ * 必须使 ...

  2. Chrome Extension in CLJS —— 搭建开发环境

    前言  磨刀不误砍柴工,本篇将介绍如何搭建Chrome插件的ClojureScript开发环境. 具体工具栈:vim(paredit,tslime,vim-clojure-static,vim-fir ...

  3. Ubuntu开发环境配置--- 安装chrome浏览器

    Ubuntu开发环境配置--- 安装chrome浏览器 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.c ...

  4. VS2019 VC++ MFC CEF(Chrome)开发环境搭建及相关功能demo(附源码)

    本文章主要介绍CEF如何作为一个控件,加在MFC的窗体中,并实现一些功能,如:打开指定网址.刷新.后退关闭子窗口或页签.关闭全部页签/子窗口和主窗体.浏览器界面自适应窗口大小等等,也会交代会遇到的一些 ...

  5. python安装包_迈出Python学习第一步:Python开发环境的下载与安装

    所谓"磨刀不误砍柴工"."工欲善其事,必先利其器",都在告诉我们一个道理:要做好一个事情,事先做好充分的准备工作是非常重要的.所以在我们正式学习用Python编 ...

  6. 微信公众号开发本地环境开发_如何在5分钟内使HTTPS在本地开发环境上工作

    微信公众号开发本地环境开发 Almost any website you visit today is protected by HTTPS. If yours isn't yet, it shoul ...

  7. 腾讯以及各大厂的 C++ 开发环境是什么样的?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|深度学习与计算机视觉 看网上各种 editor.IDE ...

  8. asp.net js函数弹出登录窗口_JS基础 | Cocos Creator 开发环境搭建

    编程并不只是简单地写代码,而是要将编写的代码运行在指定平台环境上,在此之前我们还需要搭建生产代码的环境. 一. 软件准备 Chrome:浏览器,用于预览.调试我们的游戏 VSCode:代码编辑器,用于 ...

  9. GitHub推出云端IDE,几秒完成开发环境配置,今后可以在浏览器里使用VS Code了

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 和其他科技公司一样,Gi ...

  10. 搭建AI Studio 中Python开发环境

    简 介: 测试与完成了基于编写的python小程序"ais",可以直接直接将TEASOFT中的编辑的python程序通过Windows剪切板发送到AI Studio,自动运行.通过 ...

最新文章

  1. 送你一份不正经的深度学习简述(附论文)
  2. Apache-2.2.32安装配置
  3. Python基础教程(十):CGI编程、MySQL数据库
  4. MySQL分组查询—按函数分组
  5. 石头剪刀布程序流程图_“剪刀、石头、布”也能救命?临安区社会福利中心开展海姆立克急救法培训...
  6. VirtualBox启动失败,The VM session was aborted.
  7. winform中listview选中整行_Excel办公实操,操作区域的3大小技巧,办公中的你使用过吗...
  8. python 实现两个excel表格数据的对比
  9. idea exclude from compile 再加回来
  10. Codewars练习题目
  11. Mysql同环比计算详解
  12. python哈希类型_Python散列类型和运算符
  13. 如何将大硬盘对拷到小硬盘
  14. 从初级开发者到资深架构师,看这
  15. C++之 system(“pause“); 与 getchar(); 防止控制台闪退
  16. Java虚拟机:Java虚拟机结构
  17. update语句修改mysql密码_修改 mysql 密码
  18. 中国红薯淀粉市场供需现状调研及前景策略分析报告2022年版
  19. 十年前他在马王堆送快递,如今当上航空主管,拯救客户亿元大单
  20. 微信小程序上传图片到阿里云OSS

热门文章

  1. 如何在股票软件画波浪?波浪原理?初级应用画线
  2. 采集侠的自动crontab脚本
  3. 产品读书《麦肯锡方法》
  4. Phase2 DAY5 MyArrayList
  5. ZBrush、Maya和3dmax的区别?
  6. ISM模型由自相关矩阵SSIM计算获得可达矩阵
  7. 复现IIS6.0PUT任意上传漏洞
  8. Hibernate下载和安装
  9. 盛大易宝只是陈天桥的梦而已
  10. 苹果电脑mac计算机图标怎么删除吗,苹果电脑桌面的图标怎么删除不了怎么办