2012-07-02 199 views
4

在iOS上,Adobe AIR的Capabilities.os可能类似于"iPhone OS 5.1.1 iPad3,1“ - 非常清楚地标识操作系统版本以及设备型号,在Android上它看起来更像”Linux 2.6.35.7-59465-g42bad32Wikipedia列出了Android版本的以下Linux内核:如何检测Adobe AIR中的Android操作系统版本?

  • 2.6.29:1.6,2.0,2.1
  • 2.6.32:2.2X
  • 2.6.35:2.3倍
  • 2.6.36:3.X
  • 3.0.1 :4.0x

这些设置是否成立或将有些系统报告不同的Linux版本?

有没有更好的方法来确定使用AIR和ActionScript的Android操作系统版本?

为了我的目的,我需要区分4.0(冰淇淋三明治)从4.1(果冻豆)。我认为4.1使用Linux内核3.1.10 - 任何人都可以确认吗?

+0

我怀疑这些东西是否绝对坚实,但我认为这可能是一个安全的选择,大多数用户并没有改变它从它收到它的时间,我的猜测甚至是当运营商修改操作系统,他们不会与内核混淆(只是受过教育的猜测)。另一点直觉就是说他们可能会切换操作系统或内核,以保持它们与他们选择的硬件兼容。 – shaunhusain

+2

出于好奇,你为什么试图确定它是4.0/4.1,那是不是有一个属性暴露你想要访问的功能? Adobe说:“如果存在更具体的功能属性,不要使用Capabilities.os来确定基于操作系统的功能。在操作系统上使用功能是一个坏主意,因为如果应用程序不考虑它,会导致问题所有潜在的目标操作系统,而是使用与您正在测试的功能对应的属性。有关更多信息,请参阅功能类说明。 – shaunhusain

+0

AIR 3.3中存在一个错误,它使得文本仅在4.1中消失。解决方法很难看,所以我只想在必要时使用它。我同意确定OS的功能是一个坏主意,但是如果AIR在不同的操作系统中表现不同,我需要能够确定哪个在运行。 –

回答

2

那么,我有另一种解决方案。我发现这个AS3类通过抓取名为“/system/build.prop”的Android系统文件来确定Android的版本。

您还可以得到额外的信息,如型号,品牌,SDK版本和CPU

请看:https://github.com/funky-monkey/Android-Native-Device-Info

参见本作有关信息的iOS:

+1

rafaelfaria最近发布了一个课程,该课程正是我想要的。它使用适用于Android的Funky Monkey build.prop解决方案,并且具有最新的iOS设备。谢谢! –

0

我可以证实,通过内核检测Android版本并不那么可靠。我试图从以前的版本中分辨出4.0,而大多数ICS设备都具有3.x Linux内核,但一些升级的平板电脑,如宏碁Iconia A500(最初与Android 3.0 Honeycomb一起发布)仍然具有2.x Linux内核升级到Android 4.0 ICS后。所以我猜想升级到Jelly Bean的设备可能会发生同样的情况。

我想一个可靠的方式来获取Android版本将创建一个原生扩展,它调用本机Android API来获取该信息(请参阅:How can I check the system version of Android?)。

相关问题