2012-10-19 14 views
2

我现在有这个舱单:Android - 有没有办法让应用程序minSdkVersion =“8”,但仍旧适用于旧版本?

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="16"/> 

,但我想实现谷歌云通讯和它仅与sdkVersion兼容= 8

我看着我的用户的细分,就是这样对于旧版本:

Android 2.1 - 86 
Android 3.0 - 11 
Android 1.6 - 11 
other - 7 

我不确定还有其他什么意思。而且我也不确定4或8版本是如何参考Android 2.1的。

或者是这个苹果和橘子?我有点困惑。我遇到的问题是我不希望用户升级应用程序,然后让它无法工作。

这可能发生吗?有人请澄清我在这里做什么更好的事情。

谢谢!

+0

http://developer.android.com/about/dashboards/index.html - 该网站显示了不同的Android操作系统版本的使用故障,但同时也说明了API (或sdk)级别。根据该网站,2.2是api版本8,而绝大多数用户似乎在2.1(api第7级) – nick

+0

[Android仪表板](http://developer.android.com/about/dashboards/index。 html)解释了API级别(例如4)和Android版本(例如1.6)之间的关系。我很惊讶你有这么多1.6用户。 –

+0

@nick啊我看到了,如果我使用云消息,基本上约有100人会禁用他们的应用程序?这很糟糕:(有没有什么解决方法? – Genadinik

回答

3

您可以将您的GCM代码封装在SDK级别的检查中,因此只有在SDK为8或更高版本时才会执行该代码。

例如:

if (android.os.Build.VERSION.SDK_INT >= 8) 
{ 
    // Do GCM Stuff here 
} 
+0

是的,这是我第一次想到的,但如果我离开设置版本8,那么该设备不会注册。 :http://stackoverflow.com/questions/12976930/android-with-google-cloud-messaging-device-not-being-registered-for-some-reaso但他们说这是因为我有版本8 :) – Genadinik

+3

The只有其他方式我可以想到的是使用多个APK fea开发者控制台。上传一个APK与GCM的SDK> = 8,另一个没有GCM的SDK <8。市场将处理下载正确的用户设备。不幸的是,这意味着您需要更多的工作来维护两个APK。 如果我走这条路线,我会停止在<8的APK上工作(除了错误修复)并且只会改进更高的那个。人们最终要升级,SDK 7是古老的,4是化石。 – Ralgha

相关问题