APK Golf: Reducing an Android APK's Size by 99.99%
1.5 MB for an app that does nothing. 1.5 <i>million</i> bytes for <i>nothing</i>. How inefficient we are these days. I <i>really</i> wish it were as simple as this:<p><pre><code>    $ cat &gt; myapp.aml
    &lt;!doctype android&gt;
    &lt;head&gt;&lt;title&gt;My App&lt;&#x2F;title&gt;&lt;&#x2F;head&gt;
    &lt;app activity=&quot;MainActivity.java&quot;&gt;&lt;&#x2F;app&gt;
    ^D

    $ cat &gt; MainActivity.java

    import android;

    class MainActivity extends Activity {
      void main() {
        android.toast(&quot;hello world&quot;);
      }
    }
    ^D

    $ android compile myapp.aml

    Could not find a keystore in your home directory. Would you like me to create one for you (y&#x2F;n): y
    Enter a keystore password: ********
    Confirm password: ********
    Thanks!
    Compiling Java code ... done!
    Zipping it up ... done!
    Signing ... done!
    Byte-aligning ... done!
    Wrote myapp.apk. You&#x27;re ready to upload to the Play Store!
    $
</code></pre>
But no. We must over-complicate things. AppCompatActivity, manifestations of manifests, layers upon layers of gradle BS, keystores, lots of stackoverflow lookups just to deal with byte aligning, signing, etc. And then Android Studio updates itself, breaking your entire project&#x27;s 79+ files that for a blank app. What has the world come to?