我想在市场上发布一款应用。它在2.0版本中没有使用任何新功能,例如蓝牙,它适用于使用1.6到2.1版本的每个模拟器。
我的问题是我应该分发我的应用程序版本以使其与运行1.6,2.0或2.1的所有设备兼容?
我只有一个运行1.6的物理设备来测试它,但正如我所说,它没有使用任何花哨的东西,并且在使用API级别4,5,6或7的模拟器上运行良好。
由于
答案 0 :(得分:8)
这里的答案很好,但这里还有一些建议:
android:maxSdkVersion
。android:minSdkVersion
设置为3
,以便Cupcake设备可以运行它。android:targetSdkVersion
设置为4
,表示该应用已在Donut上进行过测试。您的应用应该适用于所有> = Cupcake设备。如果您计划为高密度屏幕(Droid,Nexus One)提供高密度资源,那么您还需要做更多的工作。为此开始另一个线程会更好,但长话短说,你将高密度资源放在一个名为drawable-hdpi-v4的文件夹中。
请务必查看uses-sdk文档。
答案 1 :(得分:4)
我用1.5测试并输入android:minSdkVersion =“3” 基于此,仍有很多设备1.5 http://developer.android.com/resources/dashboard/platform-versions.html
答案 2 :(得分:2)
如果你的应用程序没有做任何花哨的事情,那么在这些版本之间不使用任何已弃用/更改/添加的内容并在各自的模拟器上运行,那么你应该没问题。
使用android:maxSdkVersion="7"
将其限制为2.1作为上限 - 您可以随时更新下一个SDK。
答案 3 :(得分:1)
我相信在以前版本的SDK中编写的任何内容都与最新版本完全兼容。
我确信我在设置IDE时会在SDK文档中阅读此内容。
如果我是正确的,那么确实没有必要更新您的应用程序以使用添加的功能,尽管如果您决定对其进行扩展,该选项将始终存在。
答案 4 :(得分:1)
在我看来,最佳做法是使用Android 1.6 sdk进行编译,并在清单中将minSdkVersion设置为3。
我根据Dianne Hackborn(用户名为hackbod评论已接受答案的评论)推荐this thread,她是Google员工,可以使用Android源代码。
基本上有相当多的Android 1.5 SDK设备,因此使用Android 1.5 SDK进行编译将为使用1.5 SDK,1.6 SDK,2.0 SDK或2.1 SDK的更多设备提供支持,但有些设备需要1.6诸如HTC Tattoo之类的SDK使用1.6 sdk编译你的应用程序,但将minSdkVersion设置为3允许大多数设备能够使用你的应用程序。
如果您按照接受的答案说并使用最新的2.1 SDK进行编译,那么您就错过了大量用户。使用2.1 SDK编译的应用程序只能由具有2.1 SDK或更高版本的设备使用,因此基本上您将用户限制为拥有Google Nexus One的用户。