Update README.md
This commit is contained in:
parent
81f421b9c0
commit
91e1f22f86
1 changed files with 4 additions and 74 deletions
78
README.md
78
README.md
|
@ -1,4 +1,7 @@
|
||||||
# Android App (build via docker/podman)
|
# Android App with FileProvider
|
||||||
|
|
||||||
|
A "FileProvider" is a special type of "ContentProvider"
|
||||||
|
|
||||||
|
|
||||||
The goal of this repo, is to create a container that can serve to produce an "empty android Application" (i.e `app.apk` file).
|
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.
|
As such the philosophy is to keep the process "simple" as to now make the understanding too difficult.
|
||||||
|
@ -18,76 +21,3 @@ As such the philosophy is to keep the process "simple" as to now make the unders
|
||||||
adb install -r app/result/app.apk
|
adb install -r app/result/app.apk
|
||||||
```
|
```
|
||||||
|
|
||||||
## basic ideas
|
|
||||||
|
|
||||||
* work within container (debian based image)
|
|
||||||
* use Makefile as a build tool
|
|
||||||
|
|
||||||
## benefits of this (compared to AndroidStudio)
|
|
||||||
|
|
||||||
* no need to install rather bloated hell of software (i.e AndroidStudio) and all
|
|
||||||
* less hidding of internals (i.e Makefile allows to see how app.apk is made)
|
|
||||||
* small app.apk file
|
|
||||||
* oftentimes faster compile time (as compared with AndroidStudio Gradle builds)
|
|
||||||
* quick "webview" which can serve as starting point for people that can to PWA and websites
|
|
||||||
* Assisted initial configuration provides access to configure almost all types of [Android app permissions](app/.Makefile.scripts/make--app-config.sh#L127)
|
|
||||||
* no need to have Kotlin, Gradle setup
|
|
||||||
/
|
|
||||||
## 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:
|
|
||||||
|
|
||||||
1. building a container (in any of the runtime/daemons it finds: i.e. docker,podman,etc..)
|
|
||||||
2. running this container having the `./app` folder being mounted within as `/app`
|
|
||||||
3. executing the [`app/Makefile`](app/Makefile) which will then:
|
|
||||||
4. either work with the configuration stored in an `app/app-config.sh` in case such file exists or
|
|
||||||
5. if not go through a `whiptail` text menu wizzard to configure a new empty app. (Makefile recipe: `./app-config.sh`)
|
|
||||||
6. it will then download the required android sdk files as necessary (Makefile recipe: `./android-sdk/installed`)
|
|
||||||
7. 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
|
|
||||||
```
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue