设备制造商对Android自定义的影响

时间:2012-05-18 10:51:57

标签: android

我正在尝试编写一个使用几个android apis的android应用程序(如策略管理器,包管理器,wifi apis等)。

我担心的是,android是开放的,制造商/运营商可以自由地将任何特定版本的android作为他们的起点并自定义相同并将其与设备一起发货。

注意:如果这篇文章无论如何重复相同/类​​似主题的早期帖子,请原谅。在这种情况下,感谢任何人分享之前的帖子。

困扰我的事情很少:

  • Android是否强制执行/要求制造商/运营商保留默认api并仅限制/定制外观?
  • 即使制造商改变了来自android的基本api的实现/行为,他们是否遵守接口以便我的代码不会破坏?
  • 我如何确保/测试我的代码在所有Android设备上运行,因为一个或多个自定义可能会破坏我的整个应用程序?

我知道这些对于许多可能已经在Android上工作过一段时间的人来说是一些天真的问题,但是在这方面的任何指示都会有很大的帮助。

任何其他信息一般w.r.t交叉版本,跨设备不兼容性和处理它们的策略将非常有帮助。

提前多多感谢。

此致 迪帕克

2 个答案:

答案 0 :(得分:1)

您的问题(以及许多其他开发人员)通过以下方式解决:http://source.android.com/compatibility/index.html 但这仍然不能保证制造商不会更改API并破坏您的应用程序。

常见的方法是最初定位构成大部分市场的设备子集,然后为其他设备实施解决方法(如有必要)。有关设备市场渗透的示例信息,请访问: http://opensignalmaps.com/reports/fragmentation.php

亲切的问候,

答案 1 :(得分:0)

首先,我不相信你应该担心这个。只有在您拥有数千名用户之后,您才最终需要面对由大量提供Android设备的制造商引起的更复杂的问题。这不应该阻止你开发Android。

  • android强制执行/要求制造商/运营商保留默认api并且只覆盖/定制外观吗?
    • 否。但如果他们从系统中删除重要的API,它肯定会对他们起作用。核心作为一个整体存在,但实际上没有任何东西阻止他们按照自己的意愿移除或禁用块。例如,AT& T已经禁止在不久前在Android设备上侧载应用程序的能力(但我认为他们仍然没有这样做)。功能减少的设备示例:亚马逊Kindle Fire。它在大多数界面中看起来都不像Android(第三方应用程序除外)并且它不提供完整的API集。即使有了这些巨大的变化,Android应用程序开发人员仍然可以在Kindle Fire上构建和销售运行良好的应用程序。
  • 即使制造商改变了来自android的基本api的实现/行为,他们是否坚持接口以便我的代码不会破坏?
    • 这就是主意,但没有任何东西可以禁止他们破坏东西。也没有什么能阻止他们意外地引入错误。
  • 如何确保/测试我的代码在所有Android设备上运行,因为一个或多个自定义可能会破坏我的整个应用程序?
    • 我知道有些制造商会为他们的设备/配置提供仿真器,以帮助测试他们的系统。例如,摩托罗拉为此提供了MOTODEV Studio。