Take the 2-minute tour ×

GCM does not require android.permission.GET_ACCOUNTS on JellyBean and above. My app, however, works with API level 11 and greater, so I need to declare it on those devices.

As I have no need for using accounts other than GCM, can I only register this permission on versions of android below API level 16? My app is quite security-conscious, so avoiding this permission would be a huge plus.

share|improve this question
Other than by having two separate APKs for the different API levels, I am not aware that this is possible. –  CommonsWare Dec 10 '12 at 14:13
So far I haven't seen any possible way of doing this in an andriod manifest.. Can you clarify if you can't solve this with proper distribution in google play –  quinestor Dec 10 '12 at 14:13

1 Answer 1

There is not a value of the tag that does this. However, you could release two builds, one for 11-13 API and the other for 14+

But honestly, I wouldn't bother with the 11-13 range. As the android stats indicates, only ~1.6% of users are using one of those builds. Limited to those just over 11, that's only a 4.4% loss of potential users, which will only probably go down with time.

share|improve this answer
Maybe you misread - ICS still needs the permission, it's jelly bean that doesn't. Excluding 4.0.* devices is a lot of users. –  Charles Munger Dec 11 '12 at 0:31
Ahh, I did misread. The same advice follows still, build for the ICS, and treat Honeycomb as a plus. –  PearsonArtPhoto Dec 11 '12 at 0:33

Your Answer


