kang
kang是安卓第三方固件社区中的一个术语,指未经原开发团队授权,由其他人基于已有ROM源码修改、重新编译并重新签名发布的衍生ROM,也指进行这种再加工的行为本身。较早的用法带贬义,后来逐渐泛指"取用他人代码再打包"的中性做法。该词在AOKP(Android Open Kang Project)的名称中被戏仿,成为安卓定制固件文化的一个标志性词汇。
定义
kang在安卓社区里指一种固件作品:它建立在他人已有的ROM源码之上,而进行修改的人既不属于原ROM的开发团队,也没有取得该团队的授权[1]。与之相对,同一个词也指这种"拿别人的代码重新打包"的做法本身[2]。
最典型的例子是:某人取来CyanogenMod(CM)的源码,只改动少量内容,重新编译并签名,然后以自己作品的名义发布,这一行为就被称为kang[1]。在英文技术语境中,kang为俚语,指"窃取或挪用代码"。由此产生的成品可称为一个kang,即建立在原作品之上的衍生版本。
原理
kang之所以可行,前提是安卓系统本身以开源方式发布。安卓的界面层采用Apache许可证2.0,修改过的Linux内核采用GPL第2版,源码可以获取、修改与再发布。第三方开发者在此基础上添加自有与第三方代码、功能和控制项,即可构建出独立的分支固件。
从工程流程看,一个kang通常包含几个环节:同步上游源码;挑选并合入补丁或未获上游采纳的提交,这一动作常借助版本控制系统的拣选(cherry-pick)功能完成;重新编译;对生成的安装包重新签名后发布。因此kang与上游官方构建的差别,可能只是若干提交的取舍和编译、签名的主体的不同[3]。
flowchart LR
A[上游开源代码] --> B[同步源码]
B --> C[拣选补丁或自行改动]
C --> D[编译构建]
D --> E[重新签名]
E --> F[以新名义发布]
发展历程
该词由CyanogenMod的开发者最早使用,起源可追溯到安卓开发的早期阶段。最初它描述的是开发成果被他人取走、改动、更换名称后重新发布,且完全不提及原作者的情形,语义偏负面。此后其含义逐步放宽,转向指"在他人的代码基础上生成代码"或"把他人的代码重新引入自己的代码"这一过程,贬义色彩随之减弱。
随着安卓爱好者固件在2008年之后逐步兴起,围绕kang形成了社区内的通行说法,CyanogenMod社区术语表曾将其解释为基于他人代码重新生成代码的过程,并以拣选提交为例。在部分资料中,非官方渠道编译的CM版本也被直接称作kang,用于把未获上游正式发布的特性提前打包[4]。
2011年11月启动的AOKP(Android Open Kang Project)把这一俚语写进了项目全名,名称由kang与AOSP(Android Open Source Project)拼接而成,起初带有玩笑性质,后来固定下来。该项目由Roman Birg发起,团队又称Team Kang,在AOSP基础上加入自有与第三方功能。按公开统计,2013年9月已有超过350万台设备使用AOKP。
应用
kang的实际用途之一是让未获官方支持的机型用上新版本系统。当上游团队只为部分设备提供构建时,第三方开发者会把同一份源码针对其他机型重新编译发布,这类版本常被称作kang,从而使更多机型获得非官方固件[5]。
另一种用途是提前试用。上游服务器按固定周期构建,一些爱好者希望在新功能或修复正式合入之前就使用,于是自行编译并附上拣选的提交,由此产生的构建在社区内也被称为kang[4]。
在命名层面,kang成为安卓定制固件中的常见元素。除AOKP外,后续也出现过名称中带kang的AOSP衍生定制项目,沿用"拣选代码再打包"的含义[6]。大量安卓论坛中展示的个性化固件,在社区话语里都可归入kang之后的作品[1]。
局限
kang一词的含义在社区内部并不统一。有开发者认为它仅指由个人而非服务器编译的版本,也有人认为凡是从他人代码中取用片段即构成kang,甚至有初次接触者误以为它是开发团队的名字[7]。AOKP的作者本人则说明该名称只是对AOSP和社区风气的戏仿,项目实际构建于AOSP源码之上[7]。含义的分歧使该词难以充当严格的技术分类。
在技术层面,kang产物与上游的关系难以仅凭安装包判断。构建时间、编译者、签名密钥与补丁取舍都可能不同,普通使用者难以核实某个版本究竟改动了哪些内容[3]。这也意味着以kang方式发布的固件,其来源与改动清单通常依赖发布者的自我说明。
在开源许可方面,代码可获取并不等于可以随意处置。安卓界面部分的Apache许可证2.0与内核的GPL第2版各有其署名、许可声明与衍生作品分发要求,kang作品是否满足这些要求,取决于发布者是否保留相应声明。原团队是否"授权"属于社区惯例层面的问题,与法律许可并非同一回事,二者常被混用[1]。
参见
-
Android —— kang现象所依附的移动操作系统,其开源发布方式是这一术语成立的前提。
-
AOKP —— 全称Android Open Kang Project,把该俚语写入名称的第三方固件项目。
-
CyanogenMod —— 早期广泛被kang的第三方固件项目,其开发者被视为该词的早期使用者。
-
AOSP —— 安卓开源项目,第三方固件与kang作品的共同源码基础。
-
定制固件 —— kang所属的更广泛类别,指由第三方构建的安卓系统映像。
参考资料
- kang [引用日期2026-10-29]
- kang-快懂百科 [引用日期2026-10-29]
- page-17 [引用日期2026-10-29]
- page-345 [引用日期2026-10-29]
- CyanogenMod atinge 1,7 milhões de instalações [引用日期2026-10-29]
- Kang-OS-R/android_manifest · GitHub [引用日期2026-10-29]
- [Q] What is AOKP? - Can anyone please explain what AOKP is [引用日期2026-10-29]