News for hackers. Stuff that matters.
Re:Prisoners of Google Android Development by gumby on Sunday August 27, 2023 @09:25AM (#37282493)
This is a no-win situation.

MS expends an inordinate amount of effort on back compatibility, and much kudos to them. But it vastly increases their attack surface.

Likewise many of the worst things about the unfairly maligned C++ come from a hardcore position on back compatibility: as much as possible, old code, and even old C code, should continue to compile and work as expected, even to the point of linking old binaries to which you’ve lost the source code.

Most people don’t go to that effort and just invalidate old stuff in the name of maintenance, reliability, and security.

Whichever branch cut you take you’re going to cause a problem for somebody. If not, nobody is using your code.

Re:Prisoners of Google Android Development by jarm0 on Sunday August 27, 2023 @09:31AM (#37282549)
Yes, that's definitely one side of the problem and I'm not chasing too much backwards-compatibility. My biggest concern in this particular situation is that there is no way (with Android, at least) to pull-back/cancel/rollback release and everything is blocked behind Google's review process. Why isn't it just possible to "yank" problematic release and continue showing previous release as the latest version. That would solve most of the issues within context of this problem.
Re:Prisoners of Google Android Development by imchillyb on Sunday August 27, 2023 @11:55AM (#37283870)
Rollbacks allow malicious actors to /simply-easily/ circumvent device security and user preference. To allow rollbacks is to /significantly/ increase the attack surface of a device.
Re:Prisoners of Google Android Development by jarm0 on Sunday August 27, 2023 @05:06PM (#37286652)
What do you mean by that? Are you effectively trying to say that allowing upgrades does not have any risk of attack surface? I'm pretty sure that updating things have also a pretty high risk on introducing new previously non-existing security issues into your code-base/product.
Re:Prisoners of Google Android Development by rany_ on Monday August 28, 2023 @12:27PM (#37296615)
Not necessarily, Google has access to the developer's private key they use for signing their APKs so they could just make a fake release that has a bigger version number than the current version whenever a rollback is needed. No change is needed on Android itself, it's a Google Play issue.
Re:Prisoners of Google Android Development by lubesGordi on Sunday August 27, 2023 @01:07PM (#37284561)
The middle ground that I think helps everyone is, change your api and break compilation. Let devs fix the compile errors and use the api correctly, etc. But don't change the behavior of existing functions with the same signatures. As an api provider, do your best to make compilation mean something.
Re:Prisoners of Google Android Development by izacus on Sunday August 27, 2023 @03:47PM (#37285980)
This is exactly how Android works. But because API changes bring privacy and security improvements, scummy software used old compilation targets to abuse backwards compatibility to avoid complying with privacy and security practices.

This is why Play slowly enforces apps to raise their compilation target and implement safer APIs. It's lagging for YEARS after API changes, so there's plenty of time to fix apps.

The OP just decided to be lazy and wait for last two weeks.

Re:Prisoners of Google Android Development by jarm0 on Sunday August 27, 2023 @04:51PM (#37286529)
I'm the OP and wanted to clarify in case you missed some points - it is a legacy application which does not have any active dev teams on it and needs only developers attention when Google says so and as mentioned by multiple other commenters here the first time I got that e-mail from Google, was at 18th of August. I would not agree that I have been lazy, but instead trying to solve this problem in the time-constraints set by Google and failing to do so because of the inability to put a fix to production and/or pull back current release version. Of course I admit that there's always ways to improve quality assurance.

There has been zero communication towards me from Google until two weeks until deadline. Yes, maybe if I would have logged into Play Console then there might have been some notifications, but there have been no reason to do so until that e-mail (I'm usually not involved with Android projects, otherwise I might have noticed similar warnings via other projects early on).

Re:Prisoners of Google Android Development by izacus on Sunday August 27, 2023 @05:47PM (#37286928)
My mailbox shows Play comms warning about these changes in July, April and October 2022. And that's just a glance.
Re:Prisoners of Google Android Development by lawgimenez on Sunday August 27, 2023 @08:20PM (#37288110)
This deadline had been sent around last year. I am not sure if you’re bullshitting your way out of this or something.
Re:Prisoners of Google Android Development by anders_p on Sunday August 27, 2023 @10:27PM (#37288983)
He clearly states in other comments that he wasn't involved a year ago.

But nice of you to assume he's lying. /s

Re:Prisoners of Google Android Development by lawgimenez on Sunday August 27, 2023 @10:32PM (#37289023)
Writing that blog post took too much longer than researching it online. Which if you Google it right now it is around 3rd or 4th search result.
Re:Prisoners of Google Android Development by johanbcn on Monday August 28, 2023 @03:09AM (#37290807)
Yes and no. These notices started last year, but back then targeted lower API levels, which is why OP might not have seen them until now.

But it's true that the first notice was sent months before the time limit, so he might have missed previous warnings.

Re:Prisoners of Google Android Development by jarm0 on Monday August 28, 2023 @08:23AM (#37292929)
Double-checked - no e-mails prior 18th of August from "Google Play Console". Also, double-checked "Google Play Console" (even under "Archived messages") - first message about deprecation I see is from 17th of August (a day before e-mail). Even if there were something a year ago, then 3 month, 1 month followup would make sense instead of 2-3 week reminder.

Maybe it's possible that different roles in "Google Play Console" will receive different type of messages at different time? I'm not an admin for that app and it's possible that someone else has gotten prior warnings, but might have ignored these, because usually they are not with technical background.

Re:Prisoners of Google Android Development by iggldiggl on Thursday August 31, 2023 @06:39AM (#37335070)
> But because API changes bring privacy and security improvements, scummy software used old compilation targets to abuse backwards compatibility to avoid complying with privacy and security practices.

Though unfortunately from time to time they also do break power user use cases…

Re:Prisoners of Google Android Development by cogman10 on Sunday August 27, 2023 @01:33PM (#37284831)
I just don't buy this as an excuse for google.

The majority of applications deployed to android are targeting android's bytecode. They aren't natively compiled applications.

The reason C++ presents insurmountable security problems is it's low level nature and the fact that once you have a native binary, you're done.

But a bytecode for a language with memory safety? How would it be possible to not backport security fixes. The very nature of running such code is one where you are constantly recompiling the bytecode.

Just to paint how absurd this position is for google. The JVM can still, today, execute and use classes targeting Java 1.0 (released in 1996).

This isn't a security issue, this is a "google doesn't want to support the platform" issue.

I'm more amenable to google clamping down on artifacts containing natively compiled code. However, a blanked "Your app was built targeting an old version of android, we won't support that anymore" is just ridiculous. Seems like a way for google to prune old apps from the store more than anything else.

Especially since a policy like this is by it's nature one that shifts a large maintenance burden on android developers. After all, if you want the widest support for your application, you target the oldest version of android possible. Very few people target the latest version of android for fear it will lock out too many of their customers.

If google was serious about security and making the latest android tech widely accessible, then they'd work towards decoupling the android runtime from the operating system version. There's no reason ART and the Dalvik runtime couldn't be distributed via google play like the rest of the android ecosystem. Removing the silly "you need android 17 to do this... opps your hardware manufacture isn't updating their hardware drivers."

But then, that would cut into new device sales and we can't have that.

Re:Prisoners of Google Android Development by pjmlp on Sunday August 27, 2023 @02:43PM (#37285450)
> The JVM can still, today, execute and use classes targeting Java 1.0 (released in 1996

Only if you are lucky they don't depend on stuff that started being removed after Java 8, when deprecated for removal went into effect.

Re:Prisoners of Google Android Development by cogman10 on Sunday August 27, 2023 @02:46PM (#37285488)
That stuff, to be clear, is stuff in `sun.misc.Unsafe`.

Plenty of libraries from that era didn't require unsafe code to accomplish their tasks.

I'm more than happy if google decides to break people who used non-public android apis.

Re:Prisoners of Google Android Development by pjmlp on Sunday August 27, 2023 @02:55PM (#37285556)
No it isn't, educate yourself on everything that has been removed until the upcoming Java 21, including several public APIs.

Just browse the JEPs and release notes.

Re:Prisoners of Google Android Development by charcircuit on Sunday August 27, 2023 @11:04PM (#37289228)
>There's no reason ART and the Dalvik runtime couldn't be distributed via google play like the rest of the android ecosystem

This is already the case.

Re:Prisoners of Google Android Development by janvidar on Monday August 28, 2023 @11:18AM (#37295495)
> This isn't a security issue, this is a "google doesn't want to support the platform" issue.

Well, it is a platform security issue - sometimes a privacy issue.

Google essentially is improving security over time by fixing broken APIs which are deprecated and removed over time.

There are plenty of security and privacy related changes where APIs have been fixed in backwards incompatible ways. Essentially, this has been solved by adding more permissions - where either Google Play, or the user needs to consent.

In order to not break backwards compatibility this has been enforced based on the "target API level", and in order to prevent malware from simply targeting old API levels, they enforce this in Google Play by forcing apps to target current API levels.

In most cases, the changes required are rather small, sometimes code changes, sometimes compliance/documentation changes - or a combination.

Re:Prisoners of Google Android Development by SenAnder on Sunday August 27, 2023 @02:29PM (#37285347)
I got the impression the author was mainly complaining about Google's role as arbiter of what software users may run. The problems from deprecating APIs are just what brought the author's attention to how vulnerable we've become to Google's whims.
Re:Prisoners of Google Android Development by Groxx on Sunday August 27, 2023 @04:41PM (#37286445)
[delayed]