Я знаю, что этот вопрос древний, но есть решение "Святого Грааля" (по крайней мере, с точки зрения ваших пользователей):
Вы можете опубликовать две версии своего приложения, для одной из которых требуется уровень API 8, а для другой - уровень API 4. Затем используйте versionCode 100, 101, 102, 103, ... для версии 4 и versionCode 200, 201, 202, 203, ... для версии 8 уровня.
Таким образом, если пользователю доступен API уровня 8, ему предлагается только версия уровня 8 вашего приложения, поскольку у него более высокий код версии. А пользователям, имеющим только API уровня 4–7, предлагается только другая версия, так как другая несовместима.
Поддерживать это немного сложнее, но у него есть (потенциально огромное) преимущество, заключающееся в том, что вы можете настроить версию с ограниченным набором функций, чтобы по-прежнему предоставлять полный интерфейс (без серых кнопок и т. Д.), И Вы даже можете уменьшить размер APK для этой версии, поскольку вам даже не нужно отправлять код или связанные ресурсы для недоступных функций.
Более подробную информацию можно найти в Android Поддержка нескольких APK Документация.