apk | ||
.bashrc | ||
.gitignore | ||
docker-compose.yml | ||
Dockerfile | ||
Dockerfile.alpine | ||
entrypoint.sh | ||
Makefile | ||
README.md |
Repo allowing -in a KISS way- to create a containered way to build an Android App APK
tl;dr
to build an application
- modify the example minimal application source code found in
vim ./apk/Makefile
vim ./apk/..... (other files)
- run the compilation in the container (which is build via
Dockerfile
anddocker-compose.yml
upon first usage)
docker-compose run compile
this should result in the apk being build and be available at ./apk/app.apk
Dependencies / Requirementes
Ideally to work the system mus have docker
and docker-compose
(or some equivalend like podman
etc.)
installed. Having GNU make installed would allow to use the contained Makefile, which however is not necessary
Concepts and Ideals
Many smart folks use Android Studio IDE to build Applications knowing the in and outs of what such an Android App amounts to. Sadly often the formerly mentioned Software also allows for many less experienced or even uninformed persons to end up with an Application, wiithout having had much or any insight what is really happening. The "comfort" and assistence and overhead of the "automagic" support of the IDE might have drawbacks such as
- more complex and hence less understood build system
- lower actual understanding of the build system
- dependence on the toolset and being basically "spoon-fed"
- lack of mastery and dominance and autonomy
- needless loss of insight
- ... (1001 further permutations of the previous criticisms)...
To counteract this "generate an app via mouseclick", this repo strives to provide an alternative route to build an Android application, that via its "Hello World" app example should allow to
- generate a "hello world" application (and extend/grow/modify that) easily via CLI
- being portable and easily installable (hence the
docker compose
) - reuse Makefile as an often familiar concept of "recipe" way to build the application
Helpful commands
- coerce rebuild:
docker-compose down --remove-orphans --rmi all
docker-compose build --no-cache