mirror of
https://github.com/budtmo/docker-android.git
synced 2026-07-31 04:07:25 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d69e7c7dd0 | ||
|
|
8f15a2845f | ||
|
|
9cee77998f | ||
|
|
13bd9611d7 | ||
|
|
9d5ab2dbe1 | ||
|
|
9a5f560a73 | ||
|
|
c1538606d2 | ||
|
|
e706fedd12 | ||
|
|
4eb85fbf28 | ||
|
|
64b922c734 | ||
|
|
c8ec687300 | ||
|
|
4feb3a1c08 | ||
|
|
cb87d43aab | ||
|
|
d4e7a95a8c | ||
|
|
72418957d5 | ||
|
|
725138794b | ||
|
|
92a5487df3 | ||
|
|
0a026decdc | ||
|
|
01d12a2263 | ||
|
|
92a406e3ba | ||
|
|
56c8deedd2 | ||
|
|
7a4933c63a | ||
|
|
e268a43141 | ||
|
|
87bebdf4ea | ||
|
|
52642214ed | ||
|
|
f0985a3898 | ||
|
|
b082c0545f | ||
|
|
6625803431 | ||
|
|
6918f1519f | ||
|
|
92c655cad2 | ||
|
|
9ad0f32d93 | ||
|
|
e77bb73077 | ||
|
|
6e9d4767f6 | ||
|
|
77f1be5bdd | ||
|
|
11279d2595 | ||
|
|
b600346ab6 | ||
|
|
f727ee0667 | ||
|
|
fe61c99eff | ||
|
|
2ac43ba4cb | ||
|
|
0591667c0b | ||
|
|
af1c18856a | ||
|
|
28c71e2b65 | ||
|
|
ea2f387203 | ||
|
|
a365368044 | ||
|
|
0fe711f563 |
@@ -0,0 +1,40 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: docker
|
||||||
|
directory: "/docker"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '01:00'
|
||||||
|
timezone: "Europe/Berlin"
|
||||||
|
commit-message:
|
||||||
|
prefix: "[docker] "
|
||||||
|
target-branch: "master"
|
||||||
|
open-pull-requests-limit: 99
|
||||||
|
reviewers:
|
||||||
|
- "budtmo"
|
||||||
|
|
||||||
|
- package-ecosystem: pip
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '01:00'
|
||||||
|
timezone: "Europe/Berlin"
|
||||||
|
commit-message:
|
||||||
|
prefix: "[pip] "
|
||||||
|
target-branch: "master"
|
||||||
|
open-pull-requests-limit: 99
|
||||||
|
reviewers:
|
||||||
|
- "budtmo"
|
||||||
|
|
||||||
|
- package-ecosystem: github-actions
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '01:00'
|
||||||
|
timezone: "Europe/Berlin"
|
||||||
|
commit-message:
|
||||||
|
prefix: "[github-action] "
|
||||||
|
target-branch: "master"
|
||||||
|
open-pull-requests-limit: 99
|
||||||
|
reviewers:
|
||||||
|
- "budtmo"
|
||||||
@@ -13,7 +13,7 @@ jobs:
|
|||||||
python-version: ["3.8"]
|
python-version: ["3.8"]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repo
|
- name: Checkout the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
@@ -35,7 +35,7 @@ jobs:
|
|||||||
needs: run_test
|
needs: run_test
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repo
|
- name: Checkout the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get release version
|
- name: Get release version
|
||||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
@@ -54,7 +54,7 @@ jobs:
|
|||||||
android: ["9.0", "10.0", "11.0", "12.0", "13.0"]
|
android: ["9.0", "10.0", "11.0", "12.0", "13.0"]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repo
|
- name: Checkout the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get release version
|
- name: Get release version
|
||||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
@@ -70,7 +70,7 @@ jobs:
|
|||||||
needs: release_base
|
needs: release_base
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repo
|
- name: Checkout the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get release version
|
- name: Get release version
|
||||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
|
|||||||
@@ -13,10 +13,13 @@ jobs:
|
|||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repo
|
- name: Checkout the repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build base image
|
- name: Build base image
|
||||||
run: script -e -c "./app.sh build base test"
|
run: script -e -c "./app.sh build base test"
|
||||||
|
|
||||||
- name: Build emulator image and run unit-test
|
- name: Build emulator image and run unit-test
|
||||||
run: script -e -c "./app.sh test emulator test 11.0 && sudo mv tmp/* . && ls -al"
|
run: script -e -c "./app.sh test emulator test 11.0 && sudo mv tmp/* ."
|
||||||
|
|
||||||
|
- name: Publish test result
|
||||||
|
run: bash <(curl -s https://codecov.io/bash)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<img id="header" src="./images/logo_docker-android.png" />
|
<img id="header" src="./images/logo_docker-android.png" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
[](http://paypal.me/budtmo) [](http://makeapullrequest.com) [](https://gitter.im/budtmo/docker-android?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://github.com/budtmo/docker-android/releases)
|
[](http://paypal.me/budtmo) [](http://makeapullrequest.com) [](https://codecov.io/gh/budtmo/docker-android) [](https://gitter.im/budtmo/docker-android?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://github.com/budtmo/docker-android/releases)
|
||||||
|
|
||||||
Docker-Android is a docker image built to be used for everything related to Android. It can be used for Application development and testing (native, web and hybrid-app).
|
Docker-Android is a docker image built to be used for everything related to Android. It can be used for Application development and testing (native, web and hybrid-app).
|
||||||
|
|
||||||
@@ -73,6 +73,37 @@ Quick Start
|
|||||||
docker exec -it android-container cat device_status
|
docker exec -it android-container cat device_status
|
||||||
```
|
```
|
||||||
|
|
||||||
|
WSL2 Hardware acceleration (Windows 11 only)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Credit goes to [Guillaume - The Parallel Interface blog](https://www.paralint.com/2022/11/find-new-modified-and-unversioned-subversion-files-on-windows)
|
||||||
|
|
||||||
|
[Microsoft - Advanced settings configuration in WSL](https://learn.microsoft.com/en-us/windows/wsl/wsl-config)
|
||||||
|
|
||||||
|
|
||||||
|
1. Add yourself to the `kvm` usergroup.
|
||||||
|
```
|
||||||
|
sudo usermod -a -G kvm ${USER}
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Add necessary flags to `/etc/wsl2.conf` to their respective sections.
|
||||||
|
```
|
||||||
|
[boot]
|
||||||
|
command = /bin/bash -c 'chown -v root:kvm /dev/kvm && chmod 660 /dev/kvm'
|
||||||
|
|
||||||
|
[wsl2]
|
||||||
|
nestedVirtualization=true
|
||||||
|
```
|
||||||
|
3. Restart WSL2 via CMD prompt or Powershell
|
||||||
|
```
|
||||||
|
wsl --shutdown
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
`command = /bin/bash -c 'chown -v root:kvm /dev/kvm && chmod 660 /dev/kvm'` sets `/dev/kvm` to `kvm` usergroup rather than the default `root` usergroup on WSL2 startup.
|
||||||
|
|
||||||
|
`nestedVirtualization` flag is only available to Windows 11.
|
||||||
|
|
||||||
Use-Cases
|
Use-Cases
|
||||||
---------
|
---------
|
||||||
|
|
||||||
@@ -101,6 +132,14 @@ Emulator Skins
|
|||||||
--------------
|
--------------
|
||||||
The Emulator skins are taken from [Android Studio IDE](https://developer.android.com/studio) and [Samsung Developer Website](https://developer.samsung.com/)
|
The Emulator skins are taken from [Android Studio IDE](https://developer.android.com/studio) and [Samsung Developer Website](https://developer.samsung.com/)
|
||||||
|
|
||||||
|
USERS
|
||||||
|
-----
|
||||||
|
|
||||||
|
<a href="https://lookerstudio.google.com/s/iGaemHJqQvg">
|
||||||
|
<p align="center">
|
||||||
|
<img src="./images/docker-android_users.png" alt="docker-android-users" width="800" height="600">
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
PRO VERSION
|
PRO VERSION
|
||||||
-----------
|
-----------
|
||||||
@@ -116,13 +155,13 @@ The differences between normal version and pro version are:
|
|||||||
|language|No|Yes|Set up language on Android emulator on fly|
|
|language|No|Yes|Set up language on Android emulator on fly|
|
||||||
|root-privileged|No|Yes|Able to run command with security privileged|
|
|root-privileged|No|Yes|Able to run command with security privileged|
|
||||||
|headless-mode|No|Yes|Save resources by using headless mode|
|
|headless-mode|No|Yes|Save resources by using headless mode|
|
||||||
|
|Selenium 4.x integration|No|Yes|Running Appium UI-Tests againt one (Selenium Hub) endpoint for Android- and iOS emulator(s) / device(s)|
|
||||||
|multiple Android-Simulators|No|Yes (soon)|Save resources by having multiple Android-Simulators on one docker-container|
|
|multiple Android-Simulators|No|Yes (soon)|Save resources by having multiple Android-Simulators on one docker-container|
|
||||||
|Google Play Store|No|Yes (soon)|-|
|
|Google Play Store|No|Yes (soon)|-|
|
||||||
|Video Recording|No|Yes (soon)|Helpful for debugging|
|
|Video Recording|No|Yes (soon)|Helpful for debugging|
|
||||||
|
|
||||||
This [document](./documentations/DOCKER-ANDROID-PRO.md) contains detail information about how to use docker-android-pro.
|
This [document](./documentations/DOCKER-ANDROID-PRO.md) contains detail information about how to use docker-android-pro.
|
||||||
|
|
||||||
|
|
||||||
LICENSE
|
LICENSE
|
||||||
-------
|
-------
|
||||||
See [License](LICENSE.md)
|
See [License](LICENSE.md)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ fi
|
|||||||
is_str_in_list ${p} ${projects[@]}
|
is_str_in_list ${p} ${projects[@]}
|
||||||
|
|
||||||
if [ -z "${3}" ]; then
|
if [ -z "${3}" ]; then
|
||||||
read -p "Release Version (v2.0-p0|v2.0-p1|etc) : " r_v
|
read -p "Release Version (v2.0.0-p0|v2.0.0-p1|etc) : " r_v
|
||||||
else
|
else
|
||||||
r_v=${3}
|
r_v=${3}
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
autopep8==2.0.2
|
autopep8==2.0.4
|
||||||
click==8.1.3
|
click==8.1.7
|
||||||
coverage==7.2.5
|
coverage==7.3.2
|
||||||
mock==5.0.2
|
mock==5.1.0
|
||||||
nose==1.3.7
|
nose==1.3.7
|
||||||
requests==2.30.0
|
requests==2.31.0
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
FROM appium/appium:v2.0.b63-p2
|
FROM appium/appium:v2.2.2-p0
|
||||||
|
|
||||||
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
|
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ The differences between normal version and pro version are:
|
|||||||
|language|No|Yes|Set up language on Android emulator on fly|
|
|language|No|Yes|Set up language on Android emulator on fly|
|
||||||
|root-privileged|No|Yes|Able to run command with security privileged|
|
|root-privileged|No|Yes|Able to run command with security privileged|
|
||||||
|headless-mode|No|Yes|Save resources by using headless mode|
|
|headless-mode|No|Yes|Save resources by using headless mode|
|
||||||
|
|Selenium 4.x integration|No|Yes|Running Appium UI-Tests againt one (Selenium Hub) endpoint for Android- and iOS emulator(s) / device(s)|
|
||||||
|multiple Android-Simulators|No|Yes (soon)|Save resources by having multiple Android-Simulators on one docker-container|
|
|multiple Android-Simulators|No|Yes (soon)|Save resources by having multiple Android-Simulators on one docker-container|
|
||||||
|Google Play Store|No|Yes (soon)|-|
|
|Google Play Store|No|Yes (soon)|-|
|
||||||
|Video Recording|No|Yes (soon)|Helpful for debugging|
|
|Video Recording|No|Yes (soon)|Helpful for debugging|
|
||||||
@@ -21,20 +22,21 @@ List of Docker-Images
|
|||||||
---------------------
|
---------------------
|
||||||
|Android |API |Type |Image with latest release version |Image with specific release version|
|
|Android |API |Type |Image with latest release version |Image with specific release version|
|
||||||
|:---|:---|:---|:---|:---|
|
|:---|:---|:---|:---|:---|
|
||||||
|9.0|28|Normal|budtmo2/docker-android-pro:emulator_9.0_v2.0|budtmo2/docker-android-pro:emulator_9.0_<release_version>|
|
|9.0|28|Normal|budtmo2/docker-android-pro:emulator_9.0|budtmo2/docker-android-pro:emulator_9.0_<release_version>|
|
||||||
|10.0|29|Normal|budtmo2/docker-android-pro:emulator_10.0|budtmo2/docker-android-pro:emulator_10.0_<release_version>|
|
|10.0|29|Normal|budtmo2/docker-android-pro:emulator_10.0|budtmo2/docker-android-pro:emulator_10.0_<release_version>|
|
||||||
|11.0|30|Normal|budtmo2/docker-android-pro:emulator_11.0|budtmo2/docker-android-pro:emulator_11.0_<release_version>|
|
|11.0|30|Normal|budtmo2/docker-android-pro:emulator_11.0|budtmo2/docker-android-pro:emulator_11.0_<release_version>|
|
||||||
|12.0|32|Normal|budtmo2/docker-android-pro:emulator_12.0|budtmo2/docker-android-pro:emulator_12.0_<release_version>|
|
|12.0|32|Normal|budtmo2/docker-android-pro:emulator_12.0|budtmo2/docker-android-pro:emulator_12.0_<release_version>|
|
||||||
|13.0|33|Normal|budtmo2/docker-android-pro:emulator_13.0|budtmo2/docker-android-pro:emulator_13.0_<release_version>|
|
|13.0|33|Normal|budtmo2/docker-android-pro:emulator_13.0|budtmo2/docker-android-pro:emulator_13.0_<release_version>|
|
||||||
|9.0|28|Headless|budtmo2/docker-android-pro:emulator_headless_9.0_v2.0|budtmo2/docker-android-pro:emulator_headless_9.0_<release_version>|
|
|9.0|28|Headless|budtmo2/docker-android-pro:emulator_headless_9.0|budtmo2/docker-android-pro:emulator_headless_9.0_<release_version>|
|
||||||
|10.0|29|Headless|budtmo2/docker-android-pro:emulator_headless_10.0|budtmo2/docker-android-pro:emulator_headless_10.0_<release_version>|
|
|10.0|29|Headless|budtmo2/docker-android-pro:emulator_headless_10.0|budtmo2/docker-android-pro:emulator_headless_10.0_<release_version>|
|
||||||
|11.0|30|Headless|budtmo2/docker-android-pro:emulator_headless_11.0|budtmo2/docker-android-pro:emulator_headless_11.0_<release_version>|
|
|11.0|30|Headless|budtmo2/docker-android-pro:emulator_headless_11.0|budtmo2/docker-android-pro:emulator_headless_11.0_<release_version>|
|
||||||
|12.0|32|Headless|budtmo2/docker-android-pro:emulator_headless_12.0|budtmo2/docker-android-pro:emulator_headless_12.0_<release_version>|
|
|12.0|32|Headless|budtmo2/docker-android-pro:emulator_headless_12.0|budtmo2/docker-android-pro:emulator_headless_12.0_<release_version>|
|
||||||
|13.0|33|Headless|budtmo2/docker-android-pro:emulator_headless_13.0|budtmo2/docker-android-pro:emulator_headless_13.0_<release_version>|
|
|13.0|33|Headless|budtmo2/docker-android-pro:emulator_headless_13.0|budtmo2/docker-android-pro:emulator_headless_13.0_<release_version>|
|
||||||
|
|-|-|Selenium|budtmo2/docker-android-pro:selenium|budtmo2/docker-android-pro:selenium_<release_version>|
|
||||||
|
|
||||||
***Note: Headless mode does not have any Web-UI***
|
***Note: Headless mode does not have any Web-UI***
|
||||||
|
|
||||||
You can always pull the latest image tag. In case you want to see the release version that has been built with a changelog note and use that specific release version, you can see that information by logging into [docker-hub-ui](https://hub.docker.com) using given access token.
|
You can always pull the latest image tag. In case you want to see the release version that has been built with a changelog note and use that specific release version, the information will be sent to you as well.
|
||||||
|
|
||||||
|
|
||||||
List of Devices
|
List of Devices
|
||||||
@@ -77,9 +79,13 @@ You can change the language setting of Android Emulator on the fly by passing fo
|
|||||||
- EMULATOR_COUNTRY="\<country>"
|
- EMULATOR_COUNTRY="\<country>"
|
||||||
|
|
||||||
|
|
||||||
Version
|
Selenium
|
||||||
-------
|
--------
|
||||||
|
|
||||||
|
Pull and run image that contains Selenium with Appium urls and its capabilities which is stored inside node.json file:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -t --rm --name selenium -p 4444:4444 -v $PWD/pro-example/node.json:/home/seleniumusr/selenium_node_config/node.json budtmo2/docker-android-pro:selenium
|
||||||
|
```
|
||||||
|
|
||||||
[<- BACK TO README](../README.md)
|
[<- BACK TO README](../README.md)
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"appium_url": "http://xx.xx.xx.xx:4723",
|
||||||
|
"capability_platform": "android",
|
||||||
|
"capability_platform_version": "11.0",
|
||||||
|
"capability_device_name": "samsung_galaxy_s6_11.0",
|
||||||
|
"capability_automation_name": "UIAutomator2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appium_url": "http://xx.xx.xx.xx:4724",
|
||||||
|
"capability_platform": "android",
|
||||||
|
"capability_platform_version": "10.0",
|
||||||
|
"capability_device_name": "nexus_5_10.0",
|
||||||
|
"capability_automation_name": "UIAutomator2"
|
||||||
|
}
|
||||||
|
]
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
Reference in New Issue
Block a user