【发布时间】:2012-11-20 06:30:45
【问题描述】:
我要为 Galaxy Tab 开发一个应用程序。所以我想知道,如果我在 Android 2.3.3 下开发它,它是否适用于所有更高版本(最高 4.2)。
我的客户希望应用在 Galaxy Tab 和 Huawei Media Pad 上运行。
什么是合适的参数:
- 所需的最低 SDK =
- 目标 SDK =
- 遵守 =
- 主题 =
【问题讨论】:
我要为 Galaxy Tab 开发一个应用程序。所以我想知道,如果我在 Android 2.3.3 下开发它,它是否适用于所有更高版本(最高 4.2)。
我的客户希望应用在 Galaxy Tab 和 Huawei Media Pad 上运行。
什么是合适的参数:
【问题讨论】:
在 4.2 上开发,将所需的最低 SDK 设置为 2.3,注意不要使用无法使用的旧 API。 Android Lint 应该会有所帮助。
而且,为了使其适用于所有版本,您必须在各处修补某种兼容性代码。这应该没有任何问题。
主题:有一个很好的教程如何处理这个问题。 http://android-developers.blogspot.in/2012_11_01_archive.html
基本上,您需要创建自己的主题,并从相应的主题扩展,具体取决于 SDK 版本(例如,2.3 及以下的 Theme,以及 3.0 及更高版本的 Theme.Holo),然后您可以自定义你的主题。
【讨论】:
您可以将 target sdk 设置为您计划定位的最高版本,它可以在旧版本上正常运行。
将您的最低 SDK 设置为 10 (android 2.3.3) 并将目标 sdk 设置为 17 (android 4.2)。
现在您的应用可以在 2.3.3 及以上的任何版本上运行。
Target sdk 仅让 android 系统知道应用程序在该版本上进行了测试,并防止系统必须做一些额外的工作来使应用程序兼容。应用程序也将在目标 sdk 之后的所有版本上运行。
Min sdk 将告诉您应用可以运行的最低版本。应用将在此之后的所有版本上运行,但不会在此版本之前运行。
如果您想了解更多详细信息,请查看此主题:
【讨论】:
是的,如果您的开发版本是 2.3.3,它将支持所有更高版本
这里是Supporting Multiple Screens 的参考和 Samsung Galaxy Tab版本历史
【讨论】:
所需的最低 SDK = 10 目标 SDK = 17 编译方式 = JDK 1.6 Theme = Theme.Holo [或忽略这个]
如果可能,将最小 SDK 设置为 6 或 7,如果出现错误,请增加它。
如果您希望与较低版本的 Android 完全兼容,我强烈建议您查看 Action Bar Sherlock 之类的内容。 Honeycomb 和 Ice Cream Sandwich 对 Theme 之类的东西有一些不同的看法。 Action Bar Sherlock 将使它在所有版本上看起来都相似。
【讨论】: