Answers:
有几个因素。
没有载体或制造商的膨胀软件。如果您想测试应用程序或操作系统的更改,并确保您没有遇到某些特定于设备的错误,那么使用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版本移植到其硬件上。
除了Dan Hulme撰写的内容外,我还要补充一下,Nexus设备具有适用于Android早期版本的库存固件映像,可以轻松安装。您可以将Galaxy Nexus降级为ICS,或将Nexus S降级为Gingerbread。Nexus 4随附4.2,但不久之后您将拥有4.4。如果这种测试对您很重要,则以后可以加载较旧的版本。
我发现在使用Nexus S进行测试时,这非常有价值,因为它从2.3降到了4.1。如果您相信cyanogen足够接近库存以实现应用程序兼容性,您甚至可以依靠cyanogenmod延长手机作为测试平台的寿命。