Ask HN: Am I crazy or is Android development awful?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • I've been developing Android since 2012. It was worse then. Still sucks now but isn't as bad. Esoteric errors are still the norm. With 10 years of experience you only have to swear a whole day when updating a library, instead of spending a week.

    GPT does poorly with beginners - it's definitely something humans have advantage with AI and I expect the gap to get bigger.

    I do not touch legacy projects anymore because they're always horribly broken, half the libraries no longer exist. Many of them are easier to rewrite than fix. You get weird bugs where A needs to be 1.71.0 but B needs A at 1.69.0 or 2+. Upgrading A to 2.0.1 will fix A and B but break CDEFG. Upgrading everything to max breaks switch-case, turns some of your brackets to lambdas, requires you to change your UI from XML to Kotlin, etc, etc.

    If you want something to hack stuff with, I made this: https://github.com/smuzani/android-minimalist-template

    Originally it was designed for AI with smaller context windows. But it works as a simplified version of our production codebase. The principle behind this is that you should have good peripheral vision and that the shape of the code resembles what it's trying to build.

  • InfluxDB

    Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.

    InfluxDB logo
  • kineticstreamer

    Kinetic Streamer is a mobile app that turns your phone into an RTSP camera.

    Getting native libraries to work well on Android is a beast. I happened to have done exactly what you're describing though, specifically rendering libusb through an Android phone. My code is at https://github.com/kevmo314/kineticstreamer and you might be particularly interested in the CMake build at https://github.com/kevmo314/kineticstreamer/blob/main/app/sr...

    Happy to answer any questions or help you out if you decide to keep going down this road, shoot me an email at [email protected]. Ultimately an Android phone is still just a Linux computer but jumping through the hoops is definitely hard.

  • toybox

    toybox

    "Toybox's main goal is to make Android self-hosting by improving Android's command line utilities so it can build an installable Android Open Source Project image entirely from source under a stock Android system. After a talk at the 2013 Embedded Linux Conference explaining this plan, Google merged toybox into AOSP and began shipping toybox in Android Marshmallow in 2015." --Rob Landley

    http://landley.net/toybox/

  • Flutter

    Flutter makes it easy and fast to build beautiful apps for mobile and beyond

    }

    See eg. accessing file systems.

    [0] https://github.com/flutter/flutter/blob/master/packages/flut...

    [1] https://github.com/flutter/flutter/blob/master/packages/flut...

    [2] https://github.com/flutter/flutter/blob/master/packages/flut...

  • termux-packages

    A package build system for Termux.

    containers/podman > [Feature]: Android support:

    > There are docker and containerd in termux-packages. https://github.com/termux/termux-packages/tree/master/root-p...

    But Android 13+ supports rootless pKVM VMs, which podman-machine should be able to run containers in; but only APK-installed binaries are blessed with the necessary extended filesystem attributes to exec on Android 4.4+ with SELinux in enforcing mode.

    - Android pKVM: https://source.android.com/docs/core/virtualization/architec... :

    > qemu + pKVM + podman-machine: https://github.com/containers/podman/discussions/17717 :

    > The protected kernel-based virtual machine (pKVM) is built upon the Linux KVM hypervisor, which has been extended with the ability to restrict access to the payloads running in guest virtual machines marked ‘protected’ at the time of creation.

    > KVM/arm64 supports different execution modes depending on the availability of certain CPU features, namely, the Virtualization Host Extensions (VHE) (ARMv8.1 and later).

    - "Android 13 virtualization lets [Pixel >= 6] run Windows 11, Linux distributions" (2022)

  • podman

    Podman: A tool for managing OCI containers and pods.

    containers/podman > [Feature]: Android support:

    > There are docker and containerd in termux-packages. https://github.com/termux/termux-packages/tree/master/root-p...

    But Android 13+ supports rootless pKVM VMs, which podman-machine should be able to run containers in; but only APK-installed binaries are blessed with the necessary extended filesystem attributes to exec on Android 4.4+ with SELinux in enforcing mode.

    - Android pKVM: https://source.android.com/docs/core/virtualization/architec... :

    > qemu + pKVM + podman-machine: https://github.com/containers/podman/discussions/17717 :

    > The protected kernel-based virtual machine (pKVM) is built upon the Linux KVM hypervisor, which has been extended with the ability to restrict access to the payloads running in guest virtual machines marked ‘protected’ at the time of creation.

    > KVM/arm64 supports different execution modes depending on the availability of certain CPU features, namely, the Virtualization Host Extensions (VHE) (ARMv8.1 and later).

    - "Android 13 virtualization lets [Pixel >= 6] run Windows 11, Linux distributions" (2022)

  • docker-in-termux

    This repository contains instructions on how to install Docker in Termux, without root.

    Looks like it's almost possible to run podman-machine on Android; and it's already possible to manually create your qcow for the qemu on Android and then run containers in that VM: https://github.com/cyberkernelofficial/docker-in-termux

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Evaluating Flutter for Desktop Web App Development

    2 projects | dev.to | 3 Aug 2024
  • Implementing Flutter Barcode Scanner with Kotlin and CameraX for Android

    4 projects | dev.to | 28 Apr 2024
  • Butterfly: Powerful, minimalistic, cross-platform, open source note-taking app

    1 project | news.ycombinator.com | 13 Mar 2024
  • ExpidusOS's File Manager releases v0.2.0 cross platforms

    2 projects | /r/linux | 20 Jun 2023
  • 🚀 Mobile App deployment automation 📱

    4 projects | dev.to | 21 Feb 2023