62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# Repo allowing -in a KISS way- to create a containered way to build an Android App APK
|
|
|
|
## tl;dr
|
|
|
|
to build an application
|
|
|
|
0. build the image _*_
|
|
```sh
|
|
# set YESSACCEPT TO "y" else the buid will not work, you agree to the upstream google corp licenses as shown
|
|
# without that a dockerimage cannot bu build
|
|
docker compose build --pull --build-arg YESACCEPT=
|
|
```
|
|
|
|
1. modify the example minimal application source code found in
|
|
```sh
|
|
vim ./apk/Makefile
|
|
vim ./apk/..... (other files)
|
|
```
|
|
2. run the compilation in the container (which is build via `Dockerfile` and `docker-compose.yml` upon first usage)
|
|
```sh
|
|
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](https://en.wikipedia.org/wiki/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:
|
|
```sh
|
|
docker-compose down --remove-orphans --rmi all
|
|
docker-compose build --no-cache
|
|
```
|
|
|
|
|