我已将我的清单设置为使用蓝牙低能耗功能,我希望它是可选的,但当我尝试更新Google Play商店中的应用时,它表示我仍然需要BTLE功能,它会削减我的设备范围。
我已经添加了android:required="false"
param,但它仍无效。
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false"/>
<uses-feature
android:name="android.hardware.bluetooth_le"
android:required="false"/>
我的aapt转储徽章:
uses-feature-not-required: name='android.hardware.bluetooth'
uses-feature: name='android.hardware.bluetooth_le'
uses-feature: name='android.hardware.camera'
uses-feature-not-required: name='android.hardware.camera.autofocus'
uses-feature-not-required: name='android.hardware.camera.flash'
uses-feature-not-required: name='android.hardware.nfc'
uses-feature: name='android.hardware.screen.landscape'
uses-feature-not-required: name='android.hardware.touchscreen'
uses-feature-not-required: name='android.hardware.wifi'
uses-feature: name='android.hardware.screen.portrait'
在正常的蓝牙功能上它可以工作,但在BTLE它没有。 我使用的是Estimote SDK。
答案 0 :(得分:7)
您的应用使用Estimote SDK。库已根据需要声明了功能。
来自Manifest Merger tool的官方网站
YEAR: 1 MONTH: 2 DATE: 5
- 默认为true。与其他属性合并将使用OR合并策略,因为如果任何库需要该功能,则生成的应用程序将需要该功能。
解决方案是使用tools:node markers
中的<uses-feature android:required>
将低优先级声明替换为带注释的声明。
你明白将是下一个:
<tools:node="replace">