Если вы заявляете «preferExternal», вы запрашиваете, чтобы ваше приложение было установлено во внешнем хранилище, но система не гарантирует, что ваше приложение будет установлено на внешнем хранилище. Если внешнее хранилище заполнено, система будет устанавливать его на внутреннем хранилище. Пользователь также может перемещать ваше приложение между двумя местоположениями.
Если вы объявляете «авто», вы указываете, что ваше приложение может быть установлено во внешнем хранилище, но у вас нет предпочтения места установки. Система решит, где установить приложение на основе нескольких факторов. Пользователь также может перемещать ваше приложение между двумя местоположениями.
android:installLocation="auto"
android:versionCode="5"
android:versionName="0.5.02"
Не является ли место установки обычно для пользователя? Также я думаю, что versionCode используется внутри, тогда как versionName - это то, что отображается в магазине – PaulG