I'm trying to figure out what the minimum screen size (dp) I should design my Android app for.
According to the developer guide small screens are at least 320 x 426 dp.
The page about metrics and grids states that "On average, 48dp translate to a physical size of about 9mm". However, if the density bucket closest to the actual device density would be chosen, 48 dp would translate to 7.62 mm on average (i.e. 48 px @ 160 dpi). This made me wonder if generally the next higher density bucket might be applied, to ensure targets are large enough.
In this answer it is stated that manufacturers have some flexibility when choosing the density bucket, but not too much.
My own phone has a 4" 480 x 800 screen (233 dpi), which would mean its density bucket should be 240 dpi (HDPI) with a scale factor of 1.5. Its actual scale factor is 2.0, which means that targets are larger (10.5 mm) and its UI width smaller (240 dp). This is below the "small screen" size bucket.
I've made a spreadsheet to determine density buckets (and corresponding scale factor) and resulting dp sizes for a range of common screen sizes and resolutions. I've done this both based on the closest density bucket, as well as for the next higher density bucket.
When using the closest density, the minimum available screen width would be 320 dp (even with small 3" screens). When using the next higher density, the minimum available width would be only 240 dp (even with 4.5" 720p screens).
The app is intended for a very specific customer base and very small devices (< 4") would not be usable anyway. However, given my observations above, would it be safe to use 320 dp as minimum width in my designs?