Android Use-feature Element Is Case Sensitive

In the previous post, I discussed about how to Google Play manage compatibility between your app and devices.

The key is to make use-feature optional.

Recently, I have encountered another problem which I want to share.

I have this in my manifest file:

1
2
3
4
<uses-feature android:name="android.hardware.TELEPHONY" android:required="false" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

On first look, it seems ok. Making TELEPHONY optional will make the app compatible with tablet (a common solution).

However, the above is WRONG! Because it should be android.hardware.telephony (lower case)!

I made a mistake.

But I also blame Android, because for permission, it is upper case! android.permission.INTERNET is correct.

Weirdedness of Android..

Comments