最近需要在mac os上搭建完整的生产环境,可是在安卓apk签名的问题上卡了半天。当然,Mac下的Eclipse也是自带签名工具的,但是它只能在工程export时起作用。由于笔者需要向第三方加密平台上传APK,再从这些平台下载加密完的各渠道APK们二次签名。一个高效、漂亮的批量签名工具就显得尤为必要了。
总有一些Terminal神教信徒坚称命令行才是唯一有效率的,视一切GUI为异宗。我虽觉自己尚不够格对此作个评判,但只知道涉及到文件管理时,命令行实在是力不从心。当你面对着十来个待签名的渠道包APK,即使不去在命令行里一行行的敲jarsigner,写个shell每次不厌其烦的输入各种冗长的路径也着实让人头疼。
这里需要介绍的方法是利用小黑帽Alfred 2的Workflow功能。关于Alfred,不了解的童鞋请自行Google,我在这里就不多费口舌了。如果你像我一样为Mac上Total Commander和Listary的缺失而懊恼,那么Alfred总算让我们有点安慰了。知乎传送门: 借助 Alfred 2 的 Workflows 功能可以做哪些好玩的事情?
打开Alfed输入框后,按”⌘ + ,” 进入Preference页面,点击工具栏中的Workflow Tab
点击Workflow Tab页左下角的”+”号,新建一个Blank Workflow. 不嫌麻烦的话,可以给它拖一个可爱的Logo。
接下来就是核心部分了。首先我们需要新建一个文件选择器。在新建出的Workflow中点击右上角的”+”, 弹出菜单中选择 Triggers -> File Action。注意勾选Accepts multiple files
有了文件选择器,接下来就要建立针对被选择文件的处理逻辑了。再次点击右上角的”+”,选择 Actions -> Run Script。
在Script一栏中填入如下脚本
[shell]
in="{query}"
blah=’ ‘ read -a array <<< "$in"
suc_count=0
fail_count=0
for i in "${array[@]}"
do
E=$(jarsigner -keystore /yourkeystorepath.keystore -storepass "keysotre passwrod" -keypass "alias passwrod" $i aliasname)
if [ -z "$E" ]
then
suc_count = $(($suc_count+1))
else
fail_count == $(($fail_count+1))
fi
done
echo "Success: $suc_count"
echo "Fail: $fail_count"
[/shell]
这份脚本应该算比较简明了,我简要提两点。开头的两行是作输入解析的,Alfred在工作流中只以{query
}作为每个工作单元的输入输出。当涉及多个输入时,query中一般以tab作多个文件名的分隔。suc_count和fail_count保存的是签名结果,用以向下一个工作单元输出。最后两行的echo,将直接输出到下一个工作单元的{query
}中。
接下来我们设立一个通知逻辑,以Notification Center的形式用户签名结果。还是在老地方 “+” -> “Outputs” -> “Notification Center”。如下图所示设置
接下来我们用鼠标拖拽把三个工作单元顺次连结起来
到这里,此工作流就设立完毕了。现在我们可以去Finder里找几个待签名的APK测试下:
选中待签名APK -> 按下 “⌥⌘ \” (反斜杠)唤起文件触发器,这时应该可以看到我们新建的2SignAPK静静的躺在最下面了。(可以通过输入首字母“2”快速选取到此项),轻敲回车,片刻之后签名完毕。此时应该就可以看到右上角弹出Notification Center的Post消息了。这下总算比冷冰冰的Terminal友好多了吧~
Done >_<
还是阔以
我去 在STEAM买个游戏玩着玩着居然穿越到这里了 你们。。。。。。。没上色的游戏都拿来骗钱 我真是醉了
谢谢
好游戏啊,在steam上入了
这个头像不是bestgore里的吗。。
THE END THE STAET
或许我也能成为一个程序员
前三個大冒險是自己通關來的,《沒人知道的大冒險》是看別人玩的;覺得每一作都很用心,尤其第四作很多場景讓人淚奔。西西弗斯神話鏡頭反復出現,讓我在觀看每個人故事之餘,分出時間反觀自己。
本來是想了解一下開發者的,結果搜出了blog,蠻意外。
最近正好有开发游戏的想法,无意之中看到了这一个,感触很大,觉得我就是那四个人啊,哈哈,真是没救了。不管怎么样,谢谢你
wow!谢谢你的游戏,虽然只是线条画,但是触动到了我(也许我只是被触动然后还是和以往一样过着重复的生活吧hhhhhhh就像西西弗斯一样)
老铁,扎心的大冒险
感谢你的游戏 很走心 虽然内容比较短 但是这12r很值
谢谢呐 又燃起了对俺们国产原创游戏的相信呐
谢谢呐 又燃起了对俺们国产原创游戏的相信
感谢制作组,L R L!
真心不错很现实我虽然老是卡关但是真心希望国产独立游戏可以不抄袭像大冒险一样哈哈哈超过国外的独立游戏
更多游戏过来的,没有人知道的大冒险真的好好啊啊啊,干了这杯鸡汤,然后,满怀梦想的打开课本了!!!!!!
厉害了,谢谢新游戏
不明所以。。。
没有前两作好玩啊 比前两作好玩呢
这是唯一一个我玩了之后满怀感激卸载steam的游戏,要好好学习了
steam上《没人知道的大冒险》过来的,很走心的小品,谢谢制作组的付出。
+1
你丫就是个纯傻逼权限狗,草尼玛的逼,祝你全家早日出车祸死光
哎
点更多的 游戏进来的。居然 真的可以进来。。 哈哈 那些 只是画个黑白线条 颜色都没上的游戏居然出来骗钱。。 哈哈 作者是将你自己吗。。 (我在steam 买了。。 哈哈)
游戏里外链过来的 观光一下
真的有这个东西?????
看了没有人知道的大冒险的实况然后搜了搜,居然还有这个blog
这种黑页一点技术含量都没有。。
R.I.P thank create.com blog
(雾)(不要打我)
这脚本看着还是有点晕…….>_<
我就是随便看看
您好,我是百度i wanna be the guy吧大吧主 蛋疼阿有木有。
很喜欢你的游戏,非常想跟你认识一下
我也很喜欢自己创作一些游戏,看了一些你的日志,感觉兴趣和你挺像的,希望我们今后可以合作。
也许你会喜欢我的案子。。
我的QQ117400023,希望能加一下,记得写一下备注。
WOW,这里居然有吧主,EA吧吧主前来支持一下
原来此blog还活着~
>_<
这让我想起了史莱姆,那销魂的表情,使我不由自主地扑过去想攻击,但结局……