如何发布自己的软件源?(开发者文档)
何为软件源?
软件源其实就是一系列软件的列表,一般为某个开发人员或开发小组所拥有,他(们)可以通过此软件源来发布和维护自己的软件。而M8手机用户只要在软件中心中添加此软件源,就可以随时查看、安装和更新这些软件。
第一步:创建自己的软件源
软件源其实就是一个链接,指向一个XML文档的链接。这个XML文档的内容描述了此软件源下的所有软件信息。
如,来趣小组的软件源:http://mwsxh.com/m8/repo.xml
repo.xml

- name:软件源名称
- logo:软件源Logo
- description:软件源的简介
- package:软件源下的软件信息,可以有多个,详细说明见第三步
第二步:打包要发布的软件(以“来关灯”为例)
软件包的概念其实就是标准的zip压缩包。如,在开发者的电脑上,来关灯的文件目录结构为:
D:\M8\来关灯
+- LightsOff.exe (执行文件)
+- icon.png (桌面图标)
+- stage.dat (普通关卡数据)
+- stage_c.dat (挑战关卡数据)
那么,直接将“D:\M8\来关灯”下的所有文件打包成zip压缩包,注意:1. 不包含“D:\M8\来关灯”本身;2. 压缩包中的文件名不能含中文。假设在软件信息中指定安装目录为:\Disk\Games\来关灯,那么lightsoff.zip中的内容会被直接解压到此目录下,解压后的结果为:
\Disk\Games\来关灯
+- LightsOff.exe (执行文件)
+- icon.png (桌面图标)
+- stage.dat (普通关卡数据)
+- stage_c.dat (挑战关卡数据)
第三步:将“来关灯”的信息加入软件源
在第一步中,我们知道一个package代表一个软件,我们直接来看看“来关灯”的package结构:

- identifier: (必须)软件标识。必须全局唯一,如:com.mwsxh.lightsoff
- name: (必须)软件名称。
- version: (必须)软件版本,给用户看的版本号,注意风格一致和可读性。
- category: (必须)软件分类,目前没有标准,可自定义。
- date: (必须)软件的更新时间,以此判断软件是否更新了,格式为:200909141442。(表示最后更新时间为2009年9月14日14点42分)
- description: (必须)软件的简要描述。
- icon: (必须)软件图标,此为一个有效的图标链接。
- location: (必须)软件的下载地址,此为一个有效的下载地址,否则用户将无法下载和安装。
- author: (必须)软件作者。
- size: (必须)软件大小,字节数。
- hardware: (必须)支持的硬件,可以为:“M8”、“M8SE”。
- fireware: (必须)支持的固件(可以是一个区间范围),“0.9.2.6-0.9.2.7”表示固件版本在0.9.2.6到0.9.2.7之间(包括0926和0927)。
- install_path: (必须)安装目录,软件包中的内容会被解压到此目录下:“\Disk\Programs\来关灯”。
- display_name: (可选)在桌面图标下显示的名称,默认同“name”字段。
- display_name_zh: (可选)系统为中文时,桌面图标下显示的名称,默认同“display_name”。
- display_name_en: (可选)系统为英文时,桌面图标下显示的名称,默认同“display_name”。
- default_icon: (可选)在桌面上显示的图标文件名(只是文件名),默认“icon.png”。注意,此文件必须在软件的安装目录下。
- exec_file_name: (有可执行文件的话,必须)执行的文件名(只是文件名)。注意,此文件必须在软件的安装目录下。
- program_id: (可选)应用程序定义的GUID。(用于应用程序和SHELL交互的标识符)
- animate_icon: (可选)ICON是否由应用程序自动更新?默认false。
- is_hide: (可选)是否隐藏桌面图标?默认false。
- reboot: (可选)安装完后是否需要重启。默认false,不需要重启;true,则提醒用户需要重启。
Post Footer automatically generated by Add Post Footer Plugin for wordpress.

抢个沙发,希望软件都加入软件中心!哦也…
恩,这个规范多了,希望能发展起来
应该同时发布英文版,召唤一下国际范围内的开发者
我是很想做一个小说的源,可是没服务器。。。
应该提供XML的生成器,填写资料生成发布的xml文件,那多方便啊,呵呵。软件中心应该是针对开发者的,软件数量应该不会很多。如果扒饭、魅族迷等网站如果想用作更新平台,不知道如果软件源里的软件数量一多,比如3百5百甚至上千,下载及解析的效率会不会很低呢。
@Dylan
嗯,是的,这样会方便很多。
没做压力测试,效率问题会不断优化。
@huanghao
这位同学没留下联系方式哈?