【问题标题】:Converting Android version 2.3 to 1.5将 Android 版本 2.3 转换为 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 分钟来添加对问题的更好描述呢?这比赏金更能确保得到好的答案。

标签: android version android-api-levels


【解决方案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】:

    按顺序:

    1. 更改清单中的minSDK属性
    2. 编辑项目属性并更改目标平台,以确保您依赖于好的库
    3. 做一个项目 > 清理以确保,以确保您在 R.java 中没有旧常量或为未来平台编译的二进制代码
    4. 修复您的项目
    5. 可选地,放回一些未来的代码,例如清单中的移动到 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,您可以在我的 stackoverflow 个人资料详细信息中找到它
    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

      • 并做一个 Project > Clean 以确保您不依赖编译到 R.java 文件中的常量。
      猜你喜欢
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 2012-08-18
      • 2012-06-16
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 2011-02-14
      相关资源
      最近更新 更多