# 打包
本章描述如何给你的扩展打包。正如 [综述](overview.html) 中提到的扩展文件是一个签名的ZIP文件,扩展名是crx。比如 myextension.crx.
**注意:** 如果你使用 [Chrome Developer Dashboard](https://chrome.google.com/webstore/developer/dashboard),发布你的扩展,你将无需自己打包。你自己打包一个crx的唯一原因是你需要发布一个非公开版本,比如一个alpha测试版本给测试用户。
当你打包一个扩展到时候。这个扩展获得唯一的一对密钥,其中的公共密钥用于标识这个扩展,私密密钥用于保存私密信息和给这个扩展的各个版本签名。
## 创建一个包
为扩展打包的步骤:
1. 访问如下URL进入扩展管理页面:
> **chrome://myextensions/extensions**
2. 如果开发人员模式边上有 + , 点击 + 以展开开发人员模式。
3. 点击"打包扩展程序"按钮,会出现一个对话框。
4. 在扩展程序根目录中填入你扩展所在的目录,如: c:myext. (你可以忽略其他项,第一次打包时你无需指定私钥。)
5. 点击确定按钮。会生成两个文件: a .crx , 是一个真正的扩展文件,可以被安装。另一个 a .pem 文件, 是你的私钥文件。
**请妥善保存你的私钥文件,尽可能放在安全的地方。在做以下事情的时候,你将需要用到它:**
* [更新](packaging.html#update) 这个扩展
* 使用 [Chrome Developer Dashboard](https://chrome.google.com/webstore/developer/dashboard) 上传这个扩展
如果扩展打包成功,你将看到如下的对话框,告诉你在哪里可以找到crx文件和pem文件:
![package_success](https://box.kancloud.cn/2015-12-28_5680ab187ec98.gif)
## 更新一个包
为你的扩展创建一个更新版本的步骤如下:
1. 增加 manifest.json文件中的版本号字段。
2. 访问如下URL进入扩展管理页面: **chrome://myextensions/extensions**
3. 点击"打包扩展程序"按钮,会出现一个对话框。
4. 在扩展程序根目录中填入你扩展所在的目录,如: c:myext.
5. 在私有密钥文件中填入你私有密钥所在的位置,如: c:myext.pem.
6. 点击确定按钮。
如果你更新扩展成功,你会看到如下对话框:
![update_success](https://box.kancloud.cn/2015-12-28_5680ab188b664.gif)
## 用命令行打包
另一种打包方式是用特定的命令行参数,--pack-extension指定扩展所在的文件夹,--pack-extension-key指定私钥所在的文件位置,然后调用 chrome.exe 下面是示例:
```
chrome.exe --pack-extension=c:myext --pack-extension-key=c:myext.pem
```
如果你不想看到对话框,请使用 --no-message-box。
## 包格式和脚本
获取更多创建crx文件的包格式的信息和脚本的要点,请参见:[CRX 包格式。](http://code.google.com/chrome/extensions/crx.html)
- 基础文档
- 综述
- 调试
- 格式:Manifest文件
- 模式匹配
- 改变浏览器外观
- Browser Actions
- Context Menus
- 桌面通知
- Omnibox
- Override替代页
- Page Actions
- 主题
- 与浏览器交互
- 书签
- Cookies
- chrome.devtools.* APIs
- Events
- chrome.history
- Management
- 标签
- 视窗
- 实现扩展
- 无障碍性(a11y)
- 背景页
- Content Scripts
- 跨域 XMLHttpRequest 请求
- 国际化 (i18n)
- 消息传递
- Optional Permissions
- NPAPI 插件
- 完成并发布应用
- 自动升级
- 托管
- 打包
- 规范和协议
- 应用设计规范
- 开发人员协议
- 免责声明