Don't say it can be done, because it definitely can if you don't care too much what the app looks like, and I for one really don't. It definitely can't be done with the standard API, nor probably with Java, a notoriously boilerplatey language.
Now I'm not saying every android app could be compressed down to a few lines, which is obviously false. I'm saying if that's how complicated your app actually is, then that's how much code should be required to make it.
Here's an example: a rot13 app. Two text fields, one of which is read write (to the user) with a callback activated on text change, and the other which is read-only (to the user) and is updated in real time by the callback with the rot13-encoded contents of the read write text field. Now tell me that can't be done with like 20 lines of code.
Another example: display json objects coming off a websocket in real time. Each field goes to a text field on the screen somewhere. 20 lines easy.
As for what functionality exactly is provided, that is determined largely by how much more complicated simple programs like this would be to make if a certain feature were added. All of the features that are included won't be as general as they are in the standard library. For example, the read-write text field in the rot13 example doesn't need to have a callback that is called every time the field is tapped, in order for it to fulfil its basic job, which is to accept text input from the user. It will be impossible to change what the field looks like too. Simple layouts like LinearLayout will be available, but specifying the exact position and size of a widget probably won't be.
That said, all kinds of features could still be included. After all, it is the app that must be simple, and not necessarily the toolchain. (Sort of the python approach, but for android. Python's stdlib is massive.) For sure, scrollpanes, buttons, input text fields, output text fields, radio switches, and check boxes could be included. Static icon widgets and icon buttons chosen out of a short list of standard icons (delete, save, load, sync to cloud, send) wouldn't go amiss either. Arrays of any of the lowest-level widgets should also be possible.
So, ideally as many features as possible, while not violating the purpose, but even just basic stuff would be cool. All kinds of totally awesome hackery could be done with apps like this.
Are there any toolkits out there that come close to this?
This is ultimately secondary, but I'd like to get an app working with nothing but a text editor and the right toolchain. There's no reason a 2-gig IDE should be a prerequisite.
Another example just for fun: listen for some kind of network event and generate an android notification if it's received. 20 lines easy.
rot13.sap, or whatever the file extension would be. I went with Simple Android Program.
layout: vstack: hstack: text "INPUT:" intext in hstack: text "OUTPUT:" text out def in(s): out = rot13(s) def rot13(s): return ***do the rot13 thing.***
$ sap rot13.sap would produce