I have an app that I released a couple years ago (plus another legacy app that I maintain for one of my company's clients). My game has a long-ish title, but it was fine until some asshat at Google decides that 33 characters is too long. On top of that, every time I'm forced to update the target SDK, I need to spend several hours figuring out a bunch of new build errors. This is not how I wanted to spend my vacation time.
It's a mad rule really.. it means work that was done for clients sometimes years ago and paid for has to be dug up and recompiled, when they were perfectly happy with the way they worked now.
Requiring 33 for new apps is fine, you're working on them already, upgrading is just part of it (which is more or less how apple work, you must use the latest xcode otherwise they reject). Requiring it for older ones probably means a heck of a lot of stuff is about to vanish from the play store on somewhat short notice.
There are some apps we've already decided to let die because the maintenance work isn't worth it.
Each and every line of code you write is a liability. Even more so when you wrote it for someone else.
You must always be able to rebuild it from source, at least as long as your client expect the software to work.
If you feel it's not worth it, you probably low-balled the contract.
If you don't want to maintain code, have the client pay a yearly maintenance fee, give the code and the responsibility to maintain it to your client at the end of development, or add a time limit to it's support.
There's no "maintenance mode" software: either it's in use and must be kept updated with regard to it's execution environment, or it's not used anymore and can be erased and forgotten. Doing differently opens too much security issues, which shouldn't be acceptable for us all as a trade.
Plus the code I wrote myself isn't usually what I have a problem whith changing. It's the various included packages and dependencies that in some cases may no longer be supported, and may not even have a similar replacement. I usually deal with this when updating an old web app that uses the Laravel framework. Some Composer packages are locked in to older versions. And when the client has a 20 hr/month budget, these types of updates can be tough to fit in the schedule.
Yeah we have some tooling that isn't up to API 33 yet.. one app has been abandoned because of that - it'll be ios only for a while until there's resources for a rewrite.