论应用之封包

时下这世道倒也奇了。

街边黄口小儿握着方寸铁盒痴笑连连——仔细瞧去原是所谓"短视频";巷尾白发老翁对着发光琉璃板念念有词——竟是在摆弄"智能支付"。这般光景教人想起二十年前茶馆里传阅的《新青年》,不过换了副皮囊。

一、封包者何物

世人皆道APP如流水线上的包子——面皮裹着馅料便是成品。然则这面皮揉搓之道大有讲究:有人贪图省事将菜叶肉糜胡乱塞作一团;有人精雕细琢连褶皱都透着规矩。

"代码本是散沙般零落着"
——《开发者手札·未刊稿》

待要将这些数字尘埃聚成器物,非得用gradle这等洋灰不可。
有年轻后生问:"何不学那江南绣娘穿针引线?"答曰:"针脚密了扎手"——君不见dependency冲突时众人抓耳挠腮的模样?

二、签名里的乾坤

昔日文人墨客讲究钤印落款,如今这二进制世界倒也不遑多让。
某日见程序员小王满头大汗:"昨儿个私钥丢了!"
想来这keystore文件好比绍兴黄酒的泥封——启了坛便再难复原。
更可叹那些图省事者用debug证书发布正式版,恰似孔乙己赊账时非要说"回字有四样写法"。终归是要被市场掌柜赶出门去的。

签名类型对照表
品类特征
Debug证书
(调试签章)
效期短暂如朝露
权限松散若渔网
Release证书
(正式钤印)
密码需三重铁柜保管
效期堪比太牢祭品

末章、铁屋中的火光

夜半常闻同行抱怨:"每日与ProGuard缠斗不休!"
这混淆工具倒像极了旧时的文字狱官——横竖要把明白话改成谜语才罢休。
然则细想来:若无这等周折功夫,只怕市面上的应用早成了代码的青纱帐,盗贼流寇横行其间。