title: Filter out older devices using manifest
body: <p>I'm developing an app that's intended for high-end devices only. It already only supports API 17+ but I've noticed some older devices that run API 17 that I'd like to exclude. My question is:</p>
  
  <p><strong>What's the best way to filter out older devices that still run a relatively new Android version?</strong></p>
  
  <p>I'd like to avoid manually excluding specific devices in Google Play.</p>
  
  <p><strong>Filtering based on screen density</strong> <br />
  One thing that I'd certainly like to do is filter on screen density (I'd like to support only hdpi and higher). I've read the <a href="http://developer.android.com/guide/topics/manifest/compatible-screens-element.html" rel="nofollow noreferrer">compatible-screens</a> article but I don't really like the solution presented there because:</p>
  
  <ol>
  <li>According to the article: "You should use it only as a last resort, when the application absolutely does not work with specific screen configurations."</li>
  <li>I'll get a large list of combinations in my manifest (if I support hdpi, xhdpi, xxhdpi and xxxhdpi with screen sizes medium, large and xlarge I'll already have 12 combinations).</li>
  <li>What if a new screen density (e.g. xxxxhdpi) or a new screen size (e.g. xxlarge) is added? To support those I'd have to update my manifest every time a new bucket is added.</li>
  </ol>
  
  <p>It seems strange to me that I can't just specify that I want to support hdpi and higher in a single line in the manifest.</p>
  
  <p><strong>Filtering based on device features</strong> <br />
  I've also considered filtering on some feature that only high-end devices have, so I read the <a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html" rel="nofollow noreferrer">uses-feature</a> article. However, it seems that I can only filter on things like bluetooth, camera and wi-fi and not on anything more indicative of a high-end device like hardware acceleration.</p>