gpt4 book ai didi

android - 使 Android 2.2 应用程序在 1.6 上运行

转载 作者:行者123 更新时间:2023-11-29 22:30:42 24 4
gpt4 key购买 nike

我已经为 Android 编写了一个简单的应用程序,当我第一次创建项目时,我选择了 v2.2 作为构建目标。我发现我的应用程序无法在 v1.6 上运行,它运行了几秒钟然后崩溃了。所以我想我正在使用一些 1.6 中未实现的命令。所以我需要找出这些命令是什么,并找到 1.6 的等价命令。我想应该不会太难。

我真正的问题是;制作 1.6v 是创建新项目并将构建目标设置为 1.6 然后复制并粘贴源代码并重新编译的唯一方法?或者有更简单的方法吗?即我可以使用我现有的 2.2 构建然后告诉它编译到 1.6 吗?

非常感谢您的帮助。

最佳答案

规则是您始终使用最新的 SDK 进行构建,但使用 android:minSdkVersion <uses-sdk> 的值(value)属性以指示您的应用可以支持的最低 API 级别。

请注意,此属性只是安装程序和市场的线索...将其设置为 4(对于 1.6)并不意味着您的应用可以神奇地在 1.6 上运行。如果更现代的 API 不可用(或者如果应用程序没有它们就无法运行,则适本地提高您的 minSdkVersion),这取决于您设计好的后备方案。

假设您的应用可以在没有 2.x API 的情况下在 1.6 上运行,那么您需要确保您的 2.x API 使用是从一个不会在 2.x 上加载的类完成的。这是一个例子:

import android.view.Display;

// Class for wrapping APIs only available in
// API level 8 and up. (i.e. 2.2, a.k.a. Froyo)
class ApiLevel8Only {
public static int getDisplayRotation(Display display) {
return display.getRotation();
}

}

getRotation() 调用将导致 1.6 上的强制关闭。为避免这种情况,您在引用 API 包装类之前检查当前版本:

if (Integer.parseInt(Build.VERSION.SDK) >= 8) {
ApiLevel8Only.getDisplayRotation(...);
}

希望这是有道理的。

关于android - 使 Android 2.2 应用程序在 1.6 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4165438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com