我在运行Android 6.0的设备上运行开发的应用程序时遇到一些错误,该设备在Android 2.3.6的设备上运行完美。我正在为两个设备使用相同的构建应用程序(针对Android API 10编译)。
错误是关于应用程序在新的Activity启动时被关闭以及选择联系人的时候,我知道如何解决该设备的问题,但问题是从我读过的内容我认为android没有在功能上向后兼容的问题(也许可能存在一些图形问题,但没有什么会使应用程序崩溃,因为它发生在我身上)。
所以我想知道这是否只是发生在我身上的一些特殊事件,最有可能的是,一旦我在一些更多的Android版本中检查这些错误并修复了应用程序的运行代码对他们来说,像这些错误之类的东西不会再发生,或者像这样的事件是比较常见的。如果是这样的话,那么检查并且可能会针对很多版本进行相应的开发听起来非常痛苦,所以我想知道是否有一些快捷方式,即使它没有提供100%安全性的正确应用程序在功能上发展,它提供了很高的安全性。
答案 0 :(得分:1)
我认为一般来说,应用程序是向前兼容的,但前提是您确保不使用私有或无证件 api。
例如,当我第一次开始使用Android时,网上有很多关于如何发送和接收文本消息的信息,这些信息在谷歌文档中完全没有提到。使用该信息(未记录的api)会导致我的应用程序在KitKat出来并为特定目的引入并正式记录api时中断,因为同时他们删除了未记录的api中可用的功能。请参阅此处details。以上例子。
以下是有关兼容性的一些信息的链接: https://developer.android.com/guide/topics/manifest/uses-sdk-element.html
相关部分的剪辑
应用程序向前兼容Android应用程序一般 向前兼容Android平台的新版本。
因为几乎所有对框架API的更改都是附加的,所以 使用任何给定版本的API开发的Android应用程序(如 由其API级别指定)与更高版本向前兼容 Android平台和更高的API级别。应用程序应该 能够在Android平台的所有更高版本上运行,除了 在应用程序使用API的一部分的独立情况下 后来因某种原因被删除了。
前向兼容性非常重要,因为许多Android驱动 设备接收无线(OTA)系统更新。用户可以 安装您的应用程序并成功使用它,然后再收到 对新版Android平台的OTA更新。一旦 安装更新后,您的应用程序将在新的运行时运行 环境的版本,但具有API和系统的版本 您的应用程序所依赖的功能。
在某些情况下,API下方的更改,例如底层证券中的更改 系统本身,可能会影响您的应用程序在新的运行时 环境。出于这个原因,它对你来说非常重要 应用程序开发人员,了解应用程序的外观和方式 表现在每个系统环境中。帮助您测试您的应用程序 在各种版本的Android平台上,Android SDK包括 您可以下载多个平台。每个平台包括一个 您可以在AVD中运行的兼容系统映像,以测试您的 应用