我正在开发一个在web视图中使用Flash视频的项目。我解决了所有关于代码的问题,但只在Honeycomb下工作。如何使我的项目兼容不同的sdk版本,同时使用特定版本的功能
阅读this我发现如何解决Android 3.0及更高版本(包括ICS)的问题,但现在这是一个大问题......如果我让我的项目与ICS兼容,我必须使用该指令,但后来我不会跑姜饼。
提供一些详细信息...有问题的代码是这一个:
android:hardwareAccelerated="true"
这是被列入Android 3.0的属性。
那么,有什么我可以做的,以避免建立两个不同的apks(somehitng像一个前HoneyComb apk和后HoneyComb apk)?
这是我的一块Android清单中:
<application android:label="@string/app_name"
android:icon="@drawable/elabora"
android:theme="@android:style/Theme.NoTitleBar">
<activity android:name="es.fundacionvodafone.elabora.android.controlador.InicioElaboraTest"
android:label="@string/app_name"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="es.fundacionvodafone.elabora.android.controlador.InicioElabora"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:hardwareAccelerated="true">
<!--
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
-->
</activity>
在此先感谢。
更新: 我已经在使用Mike解释的,也就是说,正确定义minSdk和targetSdk,但是我被以下事实弄糊涂了。通过这样的项目配置,当您在eclipse中运行该项目时,它会提示以下窗口: 红叉意味着项目targetSdk级别高于设备API级别。所以我认为这只是在这个设备上不起作用,但事情是你可以真正运行它,并按预期工作。
你为什么认为你“不会跑姜饼。”?您可以让min sdk = 8,目标SDK和目标生成项目生成SD = 15.只要确保为每个版本启用任何适用的版本。您可以使用版本相关的布尔属性,只要您喜欢就可以打开和关闭。 – user1076637 2012-01-13 02:55:24
@ user1076637,我只是犯了一个错误,因为...当我更新了我的答案,设置适当的minSdk和targetSdk是一个有效的解决方案。 – mdelolmo 2012-01-13 08:07:07