我经常在Android论坛上找到诸如“ Nexus设备非常适合开发人员”之类的声明。或“ Nexus设备几乎不可能实际'砖'”(这是真的吗?)。是什么让Nexus设备如此特别?是因为他们有库存的Android,并且有可能以最纯粹的形式修改Android吗?

我只是拥有Nexus 4,我什至不知道为什么开发者如此喜欢它!

#1 楼

有几个因素。


没有载体或制造商的膨胀器。如果您想测试应用程序或操作系统的更改,并确保未遇到特定于设备的错误,则使用Nexus设备可以减少这种情况的发生。
它们都使用相同的工具来刷新ROM:fastboot。并非所有的第三方设备都使用它,并且必须为每台拥有的设备学习一套新的命令是很烦人的。
轻松解锁引导程序。许多第三方设备并没有给您提供解锁引导加载程序的方法(以刷新您自己的ROM),而不会造成棘手的黑客攻击。有时制造商会这样做;有时,运营商会添加它,以避免您绕过网络共享或其他限制。在Nexus设备上,就像fastboot unlock-bootloader一样简单。
您可以从AOSP来源为Nexus设备编译自己的ROM。如果您想破解Android本身,或者只想构建userdebug以便为应用程序提供更多调试选项,则就像下载和编译源代码一样简单。第三方ROM通常没有可用的源,因此要构建自定义ROM,您必须对ROM进行反向工程和/或将AOSP移植到设备上(或等待其他修改器来做)。这就是为什么Google Nexus程序上的工程师穿着的T恤将它形容为“被黑客入侵的Android”的原因。 Google为保持日志(从logcat获得的日志)的清洁做出了大量工作,发展更容易。它们会阻止代码更改,这些更改会给日志增加过多的噪音,因此对于调试仍然有用。其他制造商通常并不那么小心:他们不会将日志视为客户想要的东西,因此他们会让日志变得越来越嘈杂,而驱动程序调试信息却没人愿意关注。干净的日志使应用程序和OS开发人员更容易查看和调试其代码行为。
Nexus设备倾向于先于第三方设备获得对新Android版本的更新。如果您是应用程序开发人员,并且想要确保您的应用程序尽快与新的Android版本一起使用,或者您想利用新功能并在真实设备(而非仿真器)上进行测试,则可以不想等待第三方制造商伸出援助之手,将新的Android版本移植到其硬件上。


#2 楼

除了Dan Hulme所写的内容外,我还要补充一下,Nexus设备具有适用于Android早期版本的库存固件映像,可以轻松安装。您可以将Galaxy Nexus降级为ICS,或将Nexus S降级为Gingerbread。 Nexus 4随附4.2,但不久之后您将拥有4.4。如果这种测试对您来说很重要,您以后就可以加载较旧的版本。

我发现在使用Nexus S进行测试时,这非常有价值,因为它从2.3降到4.1。如果您相信cyanogen足够接近库存以实现应用程序兼容性,您甚至可以依靠cyanogenmod延长手机作为测试平台的寿命。