我的一些应用程序的用户在Android 1.5上,有些在1.6上,有些在2.0上。
那么如何为所有客户发布我的应用程序?如果我发布1.5版本,那么1.5手机可以使用它 - 但不是较新的手机屏幕较小(又名Tatoo),它们需要1.6或更高?正确的吗?
由于
答案 0 :(得分:1)
较新的手机应该可以正常运行较旧的应用,具体取决于它们的编码方式。如果您使用AbsoluteLayout和硬编码引用像素尺寸,您将遇到问题。如果你只是让android为你做计算,应该没问题。该API明确向后兼容,因此运行1.6或2.0的手机可以正常运行1.5个应用程序。
答案 1 :(得分:1)
我所做的是将我的应用程序设置为针对Android 1.6进行构建,然后将清单中的minSdkVersion设置为3(告诉市场让Android 1.5手机安装它,将targetSdkVersion设置为4(告诉Android手机) 1.6及以上我已经在1.6上测试了它而不是给它任何前向兼容性帮助。。通过构建1.6,Eclipse不会让我使用任何2.0 API,但我知道它仍然可以在1.6上运行它也不允许你在1.5模拟器上自动安装它,所以我导出一个签名的APK,然后使用SDK附带的“adb”工具通过命令行在模拟器上安装它,并且 - 测试它以确保它不会踩到任何1.6特定的API。
我没有针对1.5进行构建的原因是,只有1.6和更高版本才需要使用,1.5会安全忽略,这是对多种屏幕尺寸的支持。我可以在res / drawable-hdpi中包含用于Droid屏幕的更大资源,并让Droids自动加载那些,但如果我正在构建1.5,Eclipse不知道我想要做什么。
我希望我没有让声音太复杂,因为它实际上并非如此 - Android SDK和资源框架使得处理多种屏幕尺寸和平台版本变得非常容易。只要了解你正在做什么,并在你的布局XML中使用与屏幕无关的像素单元,你就可以了。
答案 2 :(得分:0)
我正在使用1.5的目标构建并在1.5仿真器,2.0仿真器和2.0设备上进行测试。这使我可以确保它可以与尽可能多的不同设备一起使用。