android - 适用于不同API级别的2个应用程序版本

Dro*_*man 2 android android-version

我目前正在使用许多新API开发应用程序(最低SDK 14).查看一些谷歌统计数据让我思考过 - 大约35%的设备仍然运行少于4的Android版本(大多数情况下为2.3姜饼).由于我不想失去客户,我开始考虑添加android 4-支持,但我需要为此完全重新启动应用程序.

所以我考虑创建一个额外的版本,完全针对SDK 9-10进行了优化,而另一个版本将针对Android 4.0及更高版本进行全面优化.由于我有minSDKmaxSDK选项可用Manifest,我可以确保任何用户只能在Play商店中看到相应的版本.您如何看待这种方法,我没有看到的任何缺点(除了投入更多时间)?

Dal*_*son 5

当用户升级他们的Android版本时,他们如何知道寻找新版本的应用?

它可以在运行时适应设备上的Android版本.

switch(Build.VERSION.SDK_INT)
{
   case Build.VERSION_CODES.HONEYCOMB: 
...
}
Run Code Online (Sandbox Code Playgroud)

您可以使用Android版本作为选择资源的标准之一.

res/layout-v12
  ...
Run Code Online (Sandbox Code Playgroud)

此外,您可能需要注释一些方法以避免编译器警告/错误:

@TargetApi(Build.VERSION_CODES.FROYO)
Run Code Online (Sandbox Code Playgroud)

在我看来,使用这些技术比支持单独的源树更容易,更可靠.