将 Android 版本 2.3 转换为 1.5

Posted

技术标签:

【中文标题】将 Android 版本 2.3 转换为 1.5【英文标题】:Converting Android version 2.3 to 1.5 【发布时间】:2011-10-18 05:37:20 【问题描述】:

我在 android 2.3 版本中开发了一个应用程序,并希望将其转换为 1.5。 不幸的是,我遇到了一些问题。

我已将 minSDK 从 8 更改为 5 从属性改变

但我仍然遇到问题。

有什么想法吗?

【问题讨论】:

您是否检查过您使用的每个 API 功能都存在于古老的 A1.5 中? 你为什么要把它转换回来?可能有许多 2.3 具有而 1.5 没有的方法、类和变量!更改 minSDK 并不能解决问题,因为它无助于解决真正的问题。 我忘了我已经在 1.5 中构建了这个应用程序。并且通过misak,我在2.3中开发了它。现在有任何包含 1.5 和 2.3 功能的文章吗?所以我可以比较它并改变它 赏金显然意味着您希望回答这个问题,那么您为什么不花 10 分钟来添加对问题的更好描述呢?这比赏金更能确保得到好的答案。 【参考方案1】:

转换应用程序的版本号有几个方面。

Android 版本越晚,支持的功能就越多。 功能包括前置摄像头支持、NFC 支持、片段或拖放。 如果您计划转换应用程序,请确保目标版本支持您需要的功能。 This 描述了各种 API 级别之间的主要区别

每个新的 Android 版本都会更新 Android API。这意味着方法、常量和属性可以在某些 API 级别上可用,但在其他级别上不可用。 要查看哪些 API 级别可用,请转到 android documentation 并在右上角选择“按 API 级别过滤”。然后选择一个 API 级别。执行此操作后,所选 API 级别中不可用的所有 API 功能将灰显,以便轻松识别可用元素。如果您的代码包含目标级别中不存在的元素,则会出现错误。

您需要在 Eclipse 中的两个(!)位置明确指定 Android 版本。 在 Eclipse 中更改 Android 项目的 API 级别:

一个。打开项目清单并更改 minSdkVersion:

湾。打开 Properties -> Android,然后更改 Project Build Target(API 级别)。

通过清理您的项目(项目 -> 清理...)以确保更新项目引用来完成。

执行此操作后,更新后的 API 级别中不可用的任何功能(方法、常量、属性等)都将在您的项目中显示为错误。

要修复这些错误,Google

android

这通常会导致您更换代码。

重新阅读问题后,我相信我发现了具体错误:

您说您已将 minSdkVersion 设置为 5。API 级别 5 对应于 Android 版本 2.0。

您还说要将您的项目转换为 Android 1.5 版本,这让我相信您已将您的项目构建目标设置为相应的 API 级别 3。

如果您更改其中任何一个以匹配另一个,您的原始问题应该得到解决。

【讨论】:

【参考方案2】:

按顺序:

    更改清单中的minSDK属性 编辑项目属性并更改目标平台,以确保您依赖于好的库 做一个项目 > 清理以确保,以确保您在 R.java 中没有旧常量或为未来平台编译的二进制代码 修复您的项目 可选地,放回一些未来的代码,例如清单中的移动到 SD 功能

【讨论】:

这一切我都非常熟悉。但这里的问题是提高内存 当我在 2.3.3 中使用 700 mb ram 检查我的应用程序时工作正常,但是当我在 2.1 中使用 300 mb ram 检查它时会出错 嗯。那是一个非常不同的问题。我以为您无法在 2.1 上编译或拥有ClassNotFoundError。那么:你的错误是什么? 300 MB 应该是足够的内存(你还安装了什么?)【参考方案3】:

如果您使用了任何在 android 1.5 发布后添加的内置函数或方法或常量或属性,并且如果您现在尝试更改为 1.5,您将无法这样做。确保您没有使用过 1.5 中未发布的此类方法或任何其他属性。

【讨论】:

我已经检查了每个功能,它们都是从 1.5 开始的 并且我在开发它时也采取了预防措施。但是现在当我在设备中检查它时会出现问题。 但我相信这是从 1.5 开始支持的 您确定这是导致您的应用崩溃的原因吗?滴滴你正确检查logcat详细信息 不看代码我无法建议你。如果您可以将源代码发送到我的邮箱,我可能会做一些事情。如果您想要我的邮件 ID,您可以在我的 *** 个人资料详细信息中找到它【参考方案4】:

向后转换意味着您必须编写替代代码来替换您在更高版本 SDK=8 中使用的 api 方法,这些方法在旧 SDK=5 中不受支持,因为在旧版本中这些方法不会存在。

最好提前计划要支持的最低版本。

【讨论】:

【参考方案5】:

在eclipse中右键项目,进入Properties,进入android,设置build target为1.5。

【讨论】:

并做一个 Project > Clean 以确保您不依赖编译到 R.java 文件中的常量。

以上是关于将 Android 版本 2.3 转换为 1.5的主要内容,如果未能解决你的问题,请参考以下文章

直接将 Magento 2.1.5 升级到 2.3

将 flyway 版本 1.5 升级到 3.2

Dataframe操作TypeError:无法将系列转换为

干掉 Android 2.3!

从 Swift 3.0 转换为 Swift 2.3

Android 版本 > 2.3 上的 FileNotFoundException