## Summary
Add a first-class Android app configuration option for restricting an Expo app to tablet-sized devices.
Expo currently provides
ios.isTabletOnly
, which configures the Xcode device family as iPad-only, but there is no equivalent option under
android
.
## Use case
Some applications intentionally support tablets first and should not be installable on Android phones. Today this requires a custom config plugin that modifies the generated AndroidManifest.xml.
## Proposed API
One possible API would be:
```json
{
"expo": {
"android": {
"isTabletOnly": true
}
}
}
Alternatively, Expo could expose a more general setting such as:
```json
{
"expo": {
"android": {
"minimumSmallestWidthDp": 600
}
}
}
## Expected native configuration
For a tablet-only configuration, prebuild could generate an Android
<supports-screens>
declaration with a 600dp minimum and exclude small and normal phone screen classes, for example:
```xml
<supports-screens
android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="600" />
```
Using both generalized screen classes and
requiresSmallestWidthDp
provides compatibility with Android and Google Play filtering behavior.
## Current workaround
A local Expo config plugin using
withAndroidManifest
can add these manifest attributes, but a first-class app-config property would provide parity with
ios.isTabletOnly
, schema validation, documentation, and consistent prebuild and EAS behavior.