为工作不得不做的事

有时候,很多事情不得不做。比如我现在就要负责来说点事,Google Drive的logo跟我们做的VPlayer播放器的有点像。

Google-Drive-Vplayer-icons.jpg

上图来自TechInAsia的一篇文章Did Google Drive Copy its Icon From a Chinese App?

READ MORE>>

寻求写代码伙伴

大约20个月前,我就在互联网上变得不那么活跃了,从一个喜欢逛各种社区,认识各种人的计算机小白变成了现在的菜鸟。之前喜欢写自己学到的哪怕一丁点小技巧,现在看看都觉得挺没水准的。现在倒好,如流水般的学到各种各样的东西,也就懒得写了。

不废话了,之所以不活跃,还是因为在中国生活压力大啊,要不停的写代码啊,不停的工作啊。所以现在自己做东西做不过来了,寻求个一起写代码的人。

先说说做什么吧,主要就是做Android软件开发,我做了个播放器VPlayer,如果觉得还算靠谱请往下看。

再说说待遇吧,我刚注册的公司被招安了,于是,我自己也是打工的,所以你来了,肯定是有正式工作的,有各种不靠谱的险和金的。

当然最关键的还是工资,合格的话9K起(要缴很多税的),小公司,小团队,有投资,有期权。还有免费的午晚餐(偶尔会好吃),当然如果没有家属,也可以住公司宿舍。

最后是对你的期望,我的要求也很简单,就穷举一些必要条件先:

  • 用Linux生活学习和工作,主要是为了两个人沟通方便,代码交流也方便。
  • 自己做过项目,最好有开源的项目供我膜拜。
  • 有自己的博客网站什么的,最好是自己的独立域名,自己配置的服务器。
  • 擅长Android开发,或者有Java/C/C++语言开发经验。

然后是一些不必要也不一定充分的条件:
READ MORE>>

编译自己的Android NDK工具链

Android提供的NDK工具链是基于GCC 4.4.3的,很多最新的GCC的优化特性无法使用,于是尝试自己编译一个。下面描述下具体过程。

获取需要的文件

按照下面的列表下载相同版本的源码,只要到它们的官方网站就可以找到

  • NDKr7
  • binutils 2.21.1
  • GCC 4.6.2
  • GDB 7.3.1
  • GMP 5.0.2
  • MPC 0.9
  • MPFR 3.0.1

当然可以选择尝试不同的版本组合,但可能会有各种错误,浪费宝贵的时间,比如下面这个错误我就困扰了很久

/bin/sed: can't read =/tmp/ndk-abitno/build/toolchain/temp-install/lib/libgmp.la: No such file or directory
libtool: link: `=/tmp/ndk-abitno/build/toolchain/temp-install/lib/libgmp.la' is not a valid libtool

READ MORE>>

MacBook Pro安装ArchLinux

之前因为太忙,以及Linux内核的Bug没能给MBP安装Arch,于是转移到了Ubuntu。现在发现ArchLinux有了新版本,自然喜出望外,再加上最近的东西也算完成的差不多了,就花了一天一夜的时间折腾了下来,有图有真相

Screenshot-archlinux-gnome-shell.png

多做笔记,不当折腾帝。相关的版本信息,MacBook Pro 7.1加Arch Linux 2011.08.19

READ MORE>>

开发者注册Android Market收取费用

发现很多朋友并不知道如何把Android Market上赚的刀给收回来,这边来分享下是如何不受任何限制的从Android Market把费用都收到自己的银行帐户。

首先自然是花$25注册一个普通的Android Developer,这里要注意的是一定要把国家选择成香港,什么美国台湾中国的都不可行。另外,信用卡的选择似乎没什么太大关系,试过招商银行和北京银行的Visa和MasterCard信用卡均能迅速通过。

接下来,Google会对上面的注册进行一个初步的审核,很快可以通过,就可以在Android Developer后台https://market.android.com/publish/Home提交并发布应用了。

此时此刻,只能发布免费的应用。同时可以看到Developer后台页面下方有一个验证Merchant Account的链接,果断点它,我们被带到了Checkout的设置页面,如实的输入自己的信息即可。其中电话我是用的大陆的联通手机号,以+86打头,地址我写的香港大学的地址,应该可以随便写一个,估计也没人审查。

当填写好上面的信息之后,回到Android Developer后台,Google会提示你正在审核商户信息,很快,一般不会超过一晚上就可以通过的。通过后会看到提示可以Sell Apps了。

好的,Google这边告一段落,下面是银行方面的准备工作,主要任务就是申请一张香港的借记卡。不清楚其他银行的情况,我是申请的招商银行的香港一卡通,下面是具体流程。

有情提示,这部分最好是能同步的跟上面的注册一起进行,这样会节省不少时间。

READ MORE>>

Android 3.x无法收到Broadcast小问题

昨天刚刚收到了第一台Android平板设备——Galaxy tab 10.1,第一次全面的在Android 3.x上调试各种代码。

第一组程序就遇到了问题,这组APP的工作是通过Broadcast来协作的,当一个APP启动时,它会sendBroadcast来告诉其他应用,在Android 2.3.x和之前的版本一直工作正常,到3.1上这些BroadcastReceiver就开始淡定的不行,不论我怎么大声广播都没反应TOT

又是没日没夜的调试,想过了各种的可能,还是不成。最后又是Google这个麻烦的制造者帮我找到了这么一组讨论,问题自然就明了了:从Android 3.1开始,为了安全考虑,任何刚刚安装的程序都不会主动运行,除非用户启动过一次。

讨论中给出的解决方案对我的情况还是不靠谱,毕竟这组应用都没有Launcher Activity,都是在收到特定的Broadcast时才开始工作的。不过知道了问题所在,解决的办法就有了。

for (App a : apps) {
    Intent i = new Itent("ACTION_NAME");
    i.setComponentName(a.packageName, a.receiverClassName);
    sendBroadcast(i);
}

虽然很简单的就能解决我的问题,不过折腾的过程是惨不忍睹的,一直到凌晨2、3点才睡觉。这么重大的一个改变,Google也不写一下,至少要在javadoc里写清楚吧。我也想知道问题的答案:What is a good Android reference for changes like this?

READ MORE>>

有家的感觉真是好

看了看,差不多快5个月没来写点东西了。其实不只是没写过博客,Twitter,Reader之类的也几乎没怎么关注过,但是觉得生活比之前要充实多了。

身边有个热爱生活的姑娘,可以一起散散步,逛逛街,看看书,种种花,旅旅游啥的,这样之后感觉写代码时脑袋也清醒了不少。

我还可以炒个菜,拍的照片看上去色彩还好点,实际上黑不拉叽的,不过还挺好吃

2011-06-28_20-23-38_999.jpg

READ MORE>>