No description
app | ||
.gitignore | ||
build-android-app.sh | ||
README.md |
Android App (build via docker/podman)
The goal of this repo, is to create a container that can serve to produce an "empty android Application" (i.e app.apk
file).
As such the philosophy is to keep the process "simple" as to now make the understanding too difficult.
usage
- clone this repo
- run
./build-android-app.sh
- follow the configuration
- upon success the apk file created is in app/result/app.apk and can be installed via
adb
adb install -r app/result/app.apk
basic ideas
- work within container (debian based image)
- use Makefile as a build tool
basic info
This repo should allow to generate an empty "android app". by simply cloning this repo and
./build-android-app.sh
It does so via:
- building a container (in any of the runtime/daemons it finds: i.e. docker,podman,etc..)
- running this container having the
./app
folder being mounted within as/app
- executing the
app/Makefile
which will then: - either work with the configuration stored in an
app/app-config.sh
in case such file exists or - if not go through a
whiptail
text menu wizzard to configure a new empty app. (Makefile recipe:./app-config.sh
) - it will then download the required android sdk files as necessary (Makefile recipe:
./android-sdk/installed
) - go through the further steps to setup the blank app.
files and purpose
Upon clone
of this repo the app
folder is setup with these files:
# The (GNU) Makefile which...
app/Makefile
# ... has recipes that call scripts in folder....
app/.Makefile.scripts
# .. which creates an `app-config.sh`, a file to keep
# the configuration (app name,lable,api-levels,permissions etc)...
app/.Makefile.scripts/make--app-config.sh
# .. which creates an `AndroidManifest.xml`
app/.Makefile.scripts/make--AndroidManifest.xml
# .. which creates an `AppActivity.java` file (which just setup a Webview and loads `assets/index.html`)
app/.Makefile.scripts/make--AppActivity.java.sh
# .. which installs the necessary Android SDK in the correct versions
app/.Makefile.scripts/make--android-sdk.sh
app/assets
# the index.html file
app/assets/index.html
app/res
app/res/drawable
# the icon of the app
app/res/drawable/appicon.xml
Upon further ./build-android-app.sh
execution more folders will appear
# a folder in which the Android-sdk stuff (installed via sdkmanager) is stored
android-sdk
# folders used during build...
# ... for temporary files
bin/
obj/
result/
# app configuration resulting from text whiptail menu
app-config.sh
# the Manifest file as resulted from data from app-config.sh
AndroidManifest.xml