4 ms·
And all this article is "just" about the building of the Java/Kotlin application :) Native NDK is another can of worms, with updates linked to SDK or sometimes
by jbk 1y ago
And all this article is "just" about the building of the Java/Kotlin application :)
Native NDK is another can of worms, with updates linked to SDK or sometimes not, unclear documentation about device and API compatibilities, compiler behavior changes and other requirements (like the 16K one) that impact so many 3rd party native libraries.
But, of course, the rules on the uploading and the changes of the Console, that changes so often is what makes it painful.
The absolute nightmare is about giving Google the root signing key of your application, the unfinished business about app bundles (which should reduce the size of the downloaded app, and more often than not, make it bigger), the changes in compliance, letters to sign for different countries, the compatibility for Google form factors (XR, TV, Auto, Automotive), Inline installs and other Teacher Progams, Play for family and so on.
All of this changes non-stop and is very poorly documented :)
At least, the Play Store is still GPLv2 compatible, so for now, we're saved (VLC)
- ashishb 1y ago> Native NDK is another can of worms Thanks for sharing this. I agree with your sentiment as one of my Android apps use vox SDK. However, my experience is very limited compared to you to write about it. > The absolute nightmare is about giving Google the root signing key of your application, I haven't and I don't think it is required. > the unfinished business about app bundles Can you elaborate what's unfinished here? > the compatibility for Google form factors (XR, TV, Auto, Automotive), My app is disabled for Android Auto in production. If I re-enable, then it gets rejected during the review. I have never been able to precise fix the issue they are raising to let me re-enable Android Auto. For Chromecast (TV), I have to run a web server inside the app to serve the media.
- jbk 1y ago> I haven't and I don't think it is required. It is required, as soon as you have Android TV support, for example. https://android-developers.googleblog.com/2022/11/app-bundles-for-google-tv-and-android-tv.html https://android-developers.googleblog.com/2022/11/app-bundle... See https://dev.to/npomepuy/vlc-for-android-updates-on-the-play-store-179j https://dev.to/npomepuy/vlc-for-android-updates-on-the-play-...
- ashishb 1y agoTIL. Thanks. I have never used Android TV so I didn't know about this.
- petedoyle 1y ago> The absolute nightmare is about giving Google the root signing key of your application I wish more people talked about this. At Amazon, I helped with the early threat modeling around adoption of "App Signing by Google Play", which requires sending your app's root signing key to Google (and is now required, with no publicly-available opt-out for new apps.) It would have added some nice things for Android devs: app bundles, smaller downloads, instant apps, etc. That said, we imagined the following scenario, and were unable to find a reasonable mitigation at the time: It seems plausible the US government could send a NSL (or similar) to Google and force them to distribute modified APKs for apps like Signal (ex: to exfiltrate keys). This would be nearly impossible to detect, especially if the modified APK were distributed to only an individual user, or a small group. A few people raised concerns [1], but I don't recall Google ever giving a reasonable response. [1] https://commonsware.com/blog/2020/09/23/uncomfortable-questions-app-signing.html https://commonsware.com/blog/2020/09/23/uncomfortable-questi... Edit: clarify no opt out applies to new apps
- nixosbestos 1y agoWell, this is one of those HN comments that I will never forget. Someone wrote (and then removed after a buyer purchased it and required it's take down) a stylometry analyzer once for HN comments. A supposedly senior-y Google-r lambasted some Snowden slides commenting things were impossibly unimaginable inside Google (this was before it has done become widely accepted that internal services at such companies such of course be using some transport security). I got in some silly fight with someone ... 13+ years ago? These are specific things I remember. And now probably your comment. I didn't trust stock Android before, and I felt the sinking-gut feeling as soon as I realized where "upload root signing key" was going, but spelling it out here puts a ... fine point on things. Thanks for the comment.
- petedoyle 1y agoMaybe this? https://en.wikipedia.org/wiki/MUSCULAR https://en.wikipedia.org/wiki/MUSCULAR
- 1y ago
- flohofwoe 1y agoAlso, things like debugging suddenly stopping to work after upgrading NDK/SDK versions without a peep by adb about what might be the problem. But who needs debugging right? ;)
- jbk 1y ago> But who needs debugging right? ;) Debugging and testing is just for the non-believers.
- pjmlp 1y agoNDK is bad, feels like a 20% project, and I think if it wasn't for game devs, the userspace would be Java/Kotlin only, just like ChromeOS is V8 only, for all practical purposes. However a good way to minimise headaches with NDK is to stay by the Google rules, it is a complement to Java/Kotlin, with a specific set of APIs, and not a way to pretend Android is GNU/Linux.