拯救变砖的Xoom

话说前天晚上心血来潮给Xoom刷新版的系统,结果刷好之后卡在启动画面(Boot Animation)上过不去了,杯具,本来想回到Recovery模式把system分区擦掉重刷,想起我这个Xoom貌似没办法通过启动菜单进Recovery,只能从系统里进或者通过adb命令来进。于是这个时候貌似我脑子坏掉了,在fastboot模式下执行了下面两句:

fastboot erase system
fastboot erase boot

这下不要紧,boot分区被我给擦掉鸟!Xoom重启之后就卡在Motorola的Logo上,左上角出现“Starting RSD mode 3”字样:

Xoom Bricked

继续阅读

[翻译]Android系统手机破解和刷机的基础知识

自从夫人买了Motorola Milestone,就彻底加入Android家族了。由于买的时候本身就是刷过第三方固件的机器,已经Root过,因此再刷其它的固件也很方便。昨天在CyanogenMod的Wiki上面逛,发现一篇不错的入门文章,里面讲了很多一般刷机教程不大涉及的基础知识,觉得挺有意思就花了点时间翻译了一下,原文链接:http://wiki.cyanogenmod.com/index.php?title=Overview_of_Modding

Android系统手机破解和刷机的基础知识

写这篇文章的目的是要帮助同学们(不管是菜鸟还是老鸟)搞明白,当你在按照论坛上一些文章一步步刷机的时候,到底是在做些什么样的操作。

修改智能手机的软件并不是什么难事,不过你必须按部就班地做很多操作,而且你得注意一些细节。一般的刷机教程都会告诉你非常消息的操作步骤,不过你没办法从这些步骤中宏观地理解你到底在做些什么,于是当你遇到一些问题需要解决的时候便无从下手。这篇文章会向你解释一些基础知识,作为一般刷机教程的补充。

这篇文章的内容主要写给想刷CyanogenMOD系统的同学们,也就是说是针对Android系统的,不过和其它一些Unix类系统,比如WebOS和苹果iOS,也有相当多的共同之处。Windows系统和塞班(Symbian)就是另一个世界的东西了,除了硬件层面没什么区别之外,本文的其它内容都不能适用于这两个系统。

因为智能手机其实就是一个被压缩到口袋大小的微型电脑,所以本文的很多术语其实和PC中的东西大同小异。

继续阅读

HTC Desire视频播放FAQ

HTC Desire的高分辨率大屏幕很适合看视频,上下班地铁上可以用来打发时间,顺便拿着手机看片子还可以防止手机被盗。和PSP一样,手机上看视频自然涉及到转码(Transcoding)的问题,下面这些都是我的个人经验,希望能给同样使用HTC Desire或者相似机型的朋友们一点参考,如果有错误请指正,多谢。

转码用什么软件?

视频转码的软件太多了,个人推荐MediaCoder,这个东西都是调用一些原生的命令行codec,参数设定非常自由和详细,手机这东西,一个参数不对就放不出来了,还是这种什么都好设定的软件比较靠谱。

HTC Desire视频播放器在哪里?如何播放视频?

新手问得很多的一个问题,Android内置的看照片和视频的程序本来叫作Gallery,但HTC Sense UI里面很脑残改名叫Photos,虽然Gallery中文版翻译成“图库”已经让人费解了(“媒体库”比较好点),HTC这个中文翻译就只好叫“照片”了。你看到这个叫“照片”的程序会想到这其实就是Android内置的视频播放器么?
回正题,把视频Copy到SD卡上任意一个文件夹下面,打开“照片”,程序会自动扫描SD卡把可用的照片和视频都列出来。

Update:2.2版系统中已经更名为“媒体库”,并增加了一个叫“视频”的快捷方式可直接浏览视频。

为什么我把视频放到SD卡上以后,在“照片”里面看不到?

因为你的视频格式系统不支持,视频只能支持mp4和3gp,不是这两种后缀的话是不会显示的。如果视频后缀正确,但缩略图无法显示,说明系统无法播放这个视频,可能是格式不对(比如你非要把一个avi改名叫mp4的话……),也有可能是视频编码不支持(播放的时候只有声音没有画面)。

转码输出一般用什么格式?

Android系统原生支持的编码格式非常少,视频编码推荐使用比较通用的H.264/AVC Baseline Profile,音频推荐使用AAC-LC。根据Android的技术规格,AAC音频的编码率不能超过160kbps,而视频的编码率似乎没有什么特别的限制,当然,越大的编码率对处理的负担就越大,手机上一般1000kbps画质就不错了,音频96-128kbps即可。
现在有一些第三方的视频播放器,号称可以播放MKV、AVI、甚至RMVB,但是个人不推荐使用这些格式,Desire的这块高通Snapdragon处理器是支持H.264硬件解码的,硬件解码性能好,省电。其它格式的支持都是通过软件解码,性能不好,耗电,这个在PSP上也是一样的道理。

为什么我用H.264/AVC编码后的视频在手机上播放只有声音没有画面?

注意H.264的Profile一定要选择Baseline,Main和High Profile无法播放,这一点貌似Android的技术规格里面没有说明,HTC的规格里面也没有说明,我也感到很费解。MediaCoder中默认的Profile设定是Auto,如果你转换480p以上分辨率的视频,就会自动使用High Profile,造成手机上无法播放出画面。如果你的转码软件中没有这个设定,可以用MediaInfo之类的软件看看转出来的文件是不是Baseline Profile。

Update:2.2版系统已经支持Main Profile的播放,这样凡是PSP能原生支持播放的视频Desire都可以播放了。

为什么我转出来的视频在手机上看和在电脑上看宽高比不一样?

因为视频里面有一个显示比例的参数,电脑上的播放器大部分都会根据这个参数来显示视频。比如DVD的分辨率是720x480,单从像素来说长宽比应该是3:2,但如果显示比例设定为16:9或者4:3,播放器就会按照这个比例把视频调整到合适的比例来播放。很可惜Desire内置的播放器貌似不识别这个参数,16:9的720x480视频放进去会只按照像素比例显示,因为Desire的屏幕是800x480,于是两边留了黑边,但画面里的人物明显变窄了,可偏偏内置播放器里面那个拉伸到全屏的按钮有BUG,按了之后两边顶到底了,不过上下却被裁掉了。这个问题有些第三方播放器的拉伸全屏是没问题的,或者在转码的时候按实际显示比例做Resize。当然,Desire的屏幕分辨率是800x480,比16:9的848x480分辨率要窄一点,但总比3:2的iPhone要好。

为什么我的手机上播放视频画面和声音不同步?

认了吧,这是Desire系统的Bug。经过无数人测试,Desire上播放视频,无论是内置播放器还是Youtube应用,声音会比画面慢0.6秒左右。这个问题应该是系统核心API引起的,第三方播放器只要是调用核心API都会有一样的问题。对于同步要求不太严格的视频,比如动画片等等,这个问题几乎可以忽略,但如果你用来看演唱会的话…………作为临时的解决方案,可以在转码的时候把音轨设定一个-600ms的延迟,强制让音频往前移动,前提是你的转码软件有这个功能,至少MediaCoder是支持的,转出来的视频在电脑上播放声音会稍快,放到手机上就正常了。目前已经有很多用户向HTC反映了这个问题,希望官方2.2版本更新的时候可以把这个问题解决。

Update:2.2版系统已解决此问题。

Android体验谈

想当初2008年,在iPhone闹得沸沸扬扬的时候,网上流传一段视频说Google要出手机了,视频里面是一段手机自动同步Google Calendar等服务的demo,让我这个Google粉眼前一亮。当然后来我们知道了Google并非出手机,而是一款叫做Android的手机操作系统,而手机本身则是后来的HTC Dream。Android系统最近发展相当迅速,而我却在去年3月很失策地买了台Windows Mobile的手机,后来越发感觉到Windows Mobile的手机性价比实在非常吃亏,因为厂商需要为每台手机向微软支付大约30美元的授权费用,当然,羊毛出在羊身上……于是今年实在不甘寂寞,把手机换成了HTC Desire,终于用上了Andorid系统。

Android实际上是一个Linux内核上跑了个Java虚拟机,它拥有不错的多任务机制,稳定性也相当好,界面方面则有HTC SENSE作为补充,丝毫没有输给IPHONE。当然,作为一款Google研发的系统,最好用的功能自然是和Google账号的自动无缝同步,无论Google talk、日历或是邮件都可以即时收到推送消息,作为Google粉应该说已经很满足了。像IPHONE一样,Android也有自己的应用发布和下载平台,软件数量很多也非常方便。不过前两天不知道是什么RP原因,账号同步和电子市场连不上了,传说和GFW有关,不过这个杯具很快就解除了,不然我真的要开始动Root的脑筋了orz……嘛,谷歌和天朝闹翻了,什么事情都有可能发生,群众表示压力很大,只好准备个VPN以备不时之需了……

最后晒一下新的壁纸,宅方的手指位置真完美XD

DSC_0298