Я собираюсь передать готовое приложение для Android компании, но мы обеспокоены тем, что будущие обновления Android могут привести к тому, что функции станут устаревшими и больше не будут работать. Стоит ли об этом беспокоиться, или устаревшие функции по-прежнему будут работать для выпущенных версий? Если нет, есть ли способ изолировать приложение, чтобы оно оставалось как есть?

1
adoyon23 8 Окт 2018 в 21:44

2 ответа

Лучший ответ

Это повод для беспокойства

Да.

или устаревшие функции по-прежнему будут работать для выпущенных версий?

На некоторое время. Как долго это "немного" полностью зависит от Google. Это может быть десятилетие или следующий релиз.

Если нет, есть ли способ изолировать приложение, чтобы оно оставалось как есть?

Нет. Новые телефоны будут поставляться с новыми версиями Android. Если это приведет к поломке вашего приложения, его необходимо обновить.

Возможно, вы захотите обсудить это с компанией, для которой вы написали приложение, и предложить им продать им долгосрочный контракт на поддержку. Они могут не понимать, что приложение, которое сегодня работает идеально, может просто перестать работать, даже если оно не изменилось.

3
Terry Carmen 8 Окт 2018 в 19:17

Когда Android не рекомендует API, он обычно оставляет его как минимум на пару выпусков, прежде чем сначала удалить все функции, а затем, наконец, полностью удалить метод. Некоторые API устарели с API 21 и все еще существуют в 28.

Android также позволит некоторым устаревшим API продолжить работу в зависимости от того, на какой API ориентировано ваше приложение. Например, с Android Marshmallow Android серьезно ограничил доступ к записи в Settings.System. Однако приложения, ориентированные на API 22 или ниже, могут писать без ограничений с соответствующими разрешениями.

Если Google решит, что определенный API больше не будет работать, скажем, в Q, вы ничего не сможете с этим поделать. Они могут разрешить приложениям, ориентированным на API 28 (Pie) и ниже, по-прежнему использовать этот API, но нет никаких гарантий. Единственный способ избежать удаления без обновления приложения - не обновлять версию Android.

Это подводит меня к основной проблеме, как я ее вижу. Звучит ужасно, как будто у компании нет никаких планов заключать с вами контракт на поддержание этого приложения. Если это правда, то это не ваша ответственность. Если их беспокоит то, что вы описали в своем вопросе, сообщите им, что им нужно будет оставить вас или нанять другого разработчика для поддержки приложения и продолжения его работы в будущих версиях Android. Если они этого не сделают, то это их собственная вина.

TL; DR, вы не можете бесконечно обойтись без удаления или защиты вашего приложения от будущего. Вы можете обновлять его только для того, чтобы не отставать от Android.

3
TheWanderer 8 Окт 2018 в 18:50