1

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

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

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

困扰我的几件事是:

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

我知道对于可能已经使用 Android 一段时间的你们中的许多人来说,这些都是一些幼稚的问题,但是在这方面的任何指示都会有巨大的帮助。

一般 wrt 跨版本、跨设备不兼容性和处理它们的策略中的任何其他信息都会非常有帮助。

提前非常感谢。

问候, 迪帕克

4

2 回答 2

1

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

常见的方法是首先针对占市场大部分的设备子集,然后针对其他设备实施解决方法(如有必要)。有关设备市场渗透率的示例信息可在以下网址找到:http: //opensignalmaps.com/reports/fragmentation.php

亲切的问候,

于 2012-05-18T11:08:23.180 回答
0

首先,我认为您不必担心这一点。只有在您拥有成千上万的用户之后,您才会最终需要面对由大量提供 Android 设备的制造商引起的更复杂的问题。这不应该阻止您为 Android 开发。

  • android 是否强制/要求制造商/运营商保留默认 api 并且仅覆盖/自定义外观?
    • 不会。但如果他们从系统中删除重要的 API,那肯定会对他们不利。核心作为一个整体存在,尽管实际上没有任何东西可以阻止他们按照自己的意愿删除或禁用块。例如,AT&T 前段时间禁用了在 Android 设备上侧载应用程序的功能(但我认为他们仍然不会这样做)。功能减少的设备示例:Amazon Kindle Fire。它的大部分界面(第三方应用程序除外)看起来一点也不像 Android,而且它不提供完整的 API 集。即使发生了这些巨大的变化,Android 应用程序开发人员仍然在构建和销售在 Kindle Fire 上运行良好的应用程序方面取得了巨大成功。
  • 即使制造商更改了来自 android 的基本 api 的实现/行为,他们是否遵守接口以便我的代码不会中断?
    • 这就是想法,但没有任何东西可以禁止他们破坏东西。也没有任何东西可以阻止他们意外引入错误。
  • 我如何确保/测试我的代码适用于所有 android 设备,因为一个或多个自定义可能会破坏我的整个应用程序?
    • 我知道一些制造商会为他们的设备/配置提供一个模拟器,以帮助测试他们的系统。例如,摩托罗拉为此提供了 MOTODEV Studio。
于 2012-05-18T11:02:57.853 回答