我们目前正在修改我们的应用程序清单,以显式使用该uses-feature
属性来声明其对硬件和软件 API 的所有依赖关系。
由于我们希望用户拥有移动互联网,我们设置android.hardware.telephony
为true
,但现在应用程序无法在模拟器上安装。错误信息是:
Failure [INSTALL_FAILED_MISSING_FEATURE]
没有其他信息,甚至在设备日志中也没有,但我可以通过反复试验找出电话功能导致它的原因。
由于模拟器支持电话功能(您甚至可以模拟调度呼叫),为什么会中断?即使它正确报告它不支持电话,难道不是很明显这uses-feature
是针对真实设备而不是模拟器的吗?
实际上,我现在总体上对这个属性感到非常困惑,因为它的文档似乎暗示它只影响 Android Market 的过滤规则。我看不出它在哪里提到uses-feature
对应用程序的可安装性有直接影响,这似乎超出了文档赋予它的仅仅是声明/信息的性质。
也许毕竟使用它不是一个好主意?我们的构建服务器不再执行,因为安装到模拟器现在总是失败......