【问题标题】:android SDK differences安卓 SDK 差异
【发布时间】:2016-04-16 14:46:19
【问题描述】:

我怀疑不同 SDK 之间的差异以及它们如何影响我们的应用开发?
假设我使用 sdk api 22(lollipop) 创建了一个应用程序,现在可以将它部署到 Android api 23(Marshmellow) 吗?
如果可能的话,那些在 api 22 中存在但在 api 23 中被弃用的已弃用类(如来自 apache 的 Http)呢?
我是否必须使用不同的构建工具才能部署到不同的版本?
还有,弃用一个类究竟意味着什么?

我知道这是一个巨大的问题列表(更像是抱怨),但这些是一些困扰我一段时间的疑问。
感谢您的回复!

【问题讨论】:

    标签: android deprecated


    【解决方案1】:
    1. 您可以通过执行以下操作来部署您使用目标 api 22 到 23 开发的应用,

    一个。将目标 API 更改为 23 或最新版本,然后重新编译并构建新的 .APK

    b.万一发生了像 M 中发生的变化——他们添加了运行时权限,我们需要处理这些,否则你看不到任何目的。

    1. 已弃用 - What does "This method is deprecated" mean for application developers 这个可以让您深入了解已弃用的情况

    不,你不需要使用不同的构建,你可以在运行时找出BUILD并处理。更多信息在这里 - How to deal with deprecated classes in Android to keep compatibility

    一切顺利。

    【讨论】:

    • 好的,我有点明白了,但是什么是运行时权限,所以我可以继续使用已弃用的 apache 包? Http 和 volley 哪个使用 apache 包?
    • 在 M 中新添加了运行时权限 - 即在安装过程中会要求早期用户授予摄像头、存储写入/读取等权限,但现在将在运行时询问用户。只有当用户在我们的应用程序中使用相机时才会请求相机权限。有关此developer.android.com/training/permissions/requesting.html 的更多信息,是的,虽然可以使用已弃用的软件包,但如果我们需要对问题的支持并解决该类提供的任何新功能,最好尽早移至最新版本。
    • 如果解决了您的疑问,请务必接受答案。让我知道您是否需要除了已经共享的信息之外的任何信息。谢谢你,一切顺利。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多