←back to thread

95 points ingve | 5 comments | | HN request time: 0s | source
1. AnonC ◴[] No.44567762[source]
> Starting November 1st, 2025, all new apps and app updates that use native C/C++ code targeting Android 15+ devices submitted to Google Play must support 16 KB page sizes.

I realize that most apps wouldn’t need to make changes and that a recompilation would suffice, but is this time frame enough for the apps that do need code changes?

replies(2): >>44567986 #>>44569068 #
2. extraduder_ire ◴[] No.44567986[source]
They've mentioned this requirement before, last hn post I see is from early may.

They only added support in android 15, in august 2024. https://android-developers.googleblog.com/2024/08/adding-16-...

I don't know what "targetting Android 15+" means specifically. Does that include anything with a lower API level?

replies(2): >>44568296 #>>44569215 #
3. jlokier ◴[] No.44568296[source]
> I don't know what "targetting Android 15+" means specifically. Does that include anything with a lower API level?

- On Android, apps are built with targetSdkVersion set to the API version you're app is compiled for and tested against, but you cam set a lower minSdkVersion to the lowest device API version your app will run on.

- On devices with API level newer than targetSdkVersion, the OS looks at your app's targetSdkVersion and disables newer behaviours than your app is targetting. So the app should run well on newer devices.

- On devices with API level older than targetSdkVersion, but newer than (or same as) minSdkVersion, your own app is responsible for detecting missing APIs before trying to use them, and adapting itself to the older environment.

- On devices with API level older than minSdkVersion, your app will not be run. This ensures the user gets a clear failure, rather than unpredictable crashes or unexpected behaviour due to missing APIs the app tries to call.

So, in principle, it's possible to build an app which targets the most recent Android 15, while being capable of running on all versions of Android back to version 1. Apps linked for 16 kiB page-alignment should run on older devices that use 4 kiB pages too.

The Google Play Store enforces that targetSdkVersion is fairly close to the latest Android version. But it doesn't place requirements on minSdkVersion.

4. ohdeargodno ◴[] No.44569068[source]
If you, yourself have native code you're trying to build, it only required bumping the NDK (which is automatically bumped when you upgrade the android gradle plugin), so that's mostly an automatic step (provided you're not stuck on old, AGP7 build scripts).

If you depend on a package that uses a native library, you wait for them to update. Or you fork, bump AGP and rebuild.

It's a very minor change, unless you depend on unmaintained code.

5. izacus ◴[] No.44569215[source]
Android apps have a flag in their manifest which tells the OS "this app was built with Android X (API level X) in mind".

This allows the OS to selectively enable backwards compatibility and change certain behaviors (e.g. selectively enforce new permissions so old apps aren't broken).

Play Store requires apps to target new OSes and port APIs within certain time of an OS launching (usually ~2 years).

This avoids apps targeting older OSes to avoid new security and privacy enhancements (e.g. asking for permisisons to show notifications, asking for permisisons to access microphone, being allowed to show a fullscreen popup ad, etc. Those restrictions were all gated behind the target check.)