Guessing based on this logoutput
```
[INFO]: # Copying APK to current directory
[INFO]: # APK filename not found in build output. Guessing...
[INFO]: # Found APK file: /home/data/.buildozer/android/platform/build/dists/zeronet/build/outputs/apk/release/zeronet-release-unsigned.apk
[INFO]: # Add version number to APK
[INFO]: # APK renamed to zeronet-0.6.5.1-release-unsigned.apk
[DEBUG]: -> running cp /home/data/.buildozer/android/platform/build/dists/zeronet/build/outputs/apk/release/zeronet-release-unsigned.apk zeronet-0.6.5.1-release-unsigned.apk
...
IOError: [Errno 2] No such file or directory: u'/home/data/.buildozer/android/platform/build/dists/zeronet/build/outputs/apk/release-unsigned/zeronet-release-unsigned.apk'
```
(cherry picked from commit 6142acfa40)
Running `buildozer unknown_command` should show a meaningful error and
exit. Fixes regression introduced in 4936d31 and adds unit tests.
Also updates other tests `assert` keyword rather than `self.assert*` in
order to keep style consistent.
Last, minor `Dockerfile` documentation update as per recent @tshirtman
feedback.
Makes it possible to build Android APKs directly from Docker.
Tested by building sucessfully both:
* kivy-garden/garden.zbarcam (20190303)
* AndreMiras/EtherollApp (20190217)
After building the image with:
```
docker build --tag=kivy/buildozer .
```
The following command was used to build the Android APK:
```
docker run \
--volume "$HOME/.buildozer":/home/user/.buildozer \
--volume "$(pwd)":/home/user/hostcwd \
kivy/buildozer android debug
```
Note the system dependencies were also sorted alphabetical to ease
maintenance.
Later more dependencies can be added if needed to build a given recipe.
- installs cutting edge version from current source
- removes outdated java version fixes
- migrates to host Python3
- verifies the image builds and run via Travis
- fixes minor linting: "E117 over-indented"
Guessing based on this logoutput
```
[INFO]: # Copying APK to current directory
[INFO]: # APK filename not found in build output. Guessing...
[INFO]: # Found APK file: /home/data/.buildozer/android/platform/build/dists/zeronet/build/outputs/apk/release/zeronet-release-unsigned.apk
[INFO]: # Add version number to APK
[INFO]: # APK renamed to zeronet-0.6.5.1-release-unsigned.apk
[DEBUG]: -> running cp /home/data/.buildozer/android/platform/build/dists/zeronet/build/outputs/apk/release/zeronet-release-unsigned.apk zeronet-0.6.5.1-release-unsigned.apk
...
IOError: [Errno 2] No such file or directory: u'/home/data/.buildozer/android/platform/build/dists/zeronet/build/outputs/apk/release-unsigned/zeronet-release-unsigned.apk'
```
Uses `yes` command and `sdkmanager --licenses` flag to automatically
accept licenses.
This is a more robust, straight forward and more conventional way of
accepting licenses automatically.