Compare commits

..
200 Commits
Author SHA1 Message Date
budtmo ee5630f893 Updated base image that contains Appium 1.22.1 2022-04-25 15:49:55 +02:00
budtmo a72a5d1edc Using python 3.8.12 on pipeline 2022-04-08 12:45:34 +02:00
budtmo 9f58ad6bda Dropped polyverse support 2022-04-08 12:35:43 +02:00
Budi UtomoandGitHub 94a3f40ac6 Merge pull request #314 from inez/patch-1
(documentation) Added information about SSHing to the virtual machine
2022-02-16 10:42:41 +01:00
Inez KorczyńskiandGitHub e340223c8c Add information about SSHing to the virtual machine 2021-12-22 16:38:23 -08:00
Budi UtomoandGitHub 77488aea7f Merge pull request #310 from JoelWhitney/joel/android-11-x86_64
Android 11 build issue with 32-bit image
2021-11-17 13:59:23 +01:00
Budi UtomoandGitHub 8f1c4bf1ca Merge branch 'master' into joel/android-11-x86_64 2021-11-17 11:45:03 +01:00
Budi UtomoandGitHub cd63313358 Changed polymorphing llink 2021-11-10 15:03:48 +01:00
Joel Whitney d0f9534e3d Android 11 build issue with 32-bit image 2021-11-04 13:02:32 -04:00
budtmo 7b6bc3fe3e Removed support for Android 5.0.1 and 5.1.1 2021-10-05 10:06:46 +02:00
budtmo 1f1d4ccf49 Using the latest appium version 2021-10-05 10:03:43 +02:00
Budi UtomoandGitHub 8278a3f6ef Merge pull request #303 from syntx/patch-1
Update README_CUSTOM_CONFIG.md
2021-10-05 10:01:38 +02:00
syntxandGitHub 92ea480e55 Update README_CUSTOM_CONFIG.md
This seems like a typo in the documentation, according to: https://github.com/budtmo/docker-android/blob/0a8b7c07a2659fe9bd316bac8c21c506f953620a/src/utils.sh#L60-L62
2021-10-04 23:55:29 +03:00
budtmo 0188131350 Replaced operator 2021-08-05 13:28:43 +02:00
budtmo 371a57c663 Added Android 12.0 into pipeline 2021-08-05 12:28:04 +02:00
Budi UtomoandGitHub 6d4de35602 Merge pull request #297 from JoelWhitney/android_12
Support Android 12 (API 31)
2021-08-05 12:24:47 +02:00
Joel Whitney 51158d8630 processor 2021-08-03 18:04:53 -04:00
Joel Whitney 3a7cba3dc9 x86_64 2021-08-03 17:16:21 -04:00
Joel Whitney 4bb9f044ed 12 2021-08-03 16:15:59 -04:00
budtmo 0e35dab27f Updated base image 2021-07-20 17:21:42 +02:00
Budi UtomoandGitHub 14a98aea88 Merge pull request #294 from ireneu/master
Check correctly if device exists
2021-07-20 17:17:57 +02:00
IreandGitHub 337aaf5103 Use regex to verify config 2021-07-09 14:20:52 +02:00
IreandGitHub f5e86d5806 Check correctly if device exists
config.ini has spaces around the equals sign
2021-07-09 10:56:29 +02:00
budtmo caf2cb2cd8 Fixed pip issue on Azure DevOps 2021-06-21 12:15:51 +02:00
budtmo 03f2ea256a Fixed wrong name 2021-06-21 12:10:18 +02:00
budtmo af2d302bbc Formatted 2021-06-21 11:45:36 +02:00
budtmo b6752ea535 Renamed 2021-06-21 11:42:05 +02:00
budtmo 06a8e83922 Updated base image 2021-06-21 11:40:22 +02:00
budtmo a7e7eaa5aa Added release pipelines 2021-06-21 11:39:10 +02:00
budtmo d2c82d05c7 Removed matrix from pipeline 2021-06-21 10:47:09 +02:00
budtmo 79d36e1536 Replaced status badge of Travis with Azure DevOps 2021-06-21 10:36:05 +02:00
budtmo 90ff1782ae Reverted the changes 2021-06-21 10:33:07 +02:00
budtmo 92e4933521 Published test result at the end 2021-06-21 10:25:54 +02:00
budtmo 4f9469db55 Added matrix 2021-06-21 10:24:06 +02:00
budtmo cc409b9914 Formatted 2021-06-21 10:18:02 +02:00
budtmo 4cc5a36c32 Added Azure DevOps 2021-06-21 10:13:15 +02:00
budtmo ed77303a16 Removed travis from the project 2021-06-21 10:11:34 +02:00
budtmo 5696fe3ea0 Deleted unused script 2021-06-21 09:54:57 +02:00
Budi UtomoandGitHub b39a8784b7 Merge pull request #287 from scottwallacesh/master
Fix an issue when attempting to detect an existing AVD image
2021-06-21 09:52:26 +02:00
Scott WallaceandGitHub fcb1f2ec31 Fix an issue when attempting to detect an existing AVD image
Fixes #286.
2021-05-05 10:04:46 +01:00
Budi UtomoandGitHub 49113f2cb4 Added PayPal link for donation 2021-04-28 15:00:12 +02:00
Budi UtomoandGitHub 0a8b7c07a2 Added step how to check kvm 2021-02-16 15:40:39 +01:00
butomo1989 49b9c44f3a Using Appium 1.20.2 2021-02-04 08:31:13 +01:00
butomo1989 15cddf08c4 Merge branch 'master' of github.com:butomo1989/docker-android 2021-02-03 16:55:06 +01:00
butomo1989 71949ee857 Using Appium 1.20.1 2021-02-03 16:54:51 +01:00
Budi UtomoandGitHub d0e3c619ca Merge pull request #277 from iqalab-cloud/bug-fix-incorrect-max-session
Bug fix: maxSession in appium config should be 1
2021-01-13 13:07:30 +01:00
Zhaopeng XUAN 8dc87a3a3c Bug fix: maxSession in appium config should be 1 2021-01-13 12:39:36 +01:00
Budi UtomoandGitHub 76617374c0 Merge pull request #274 from iqalab-cloud/feature-support-selenium-proxy-class
Feature: Support customised Selenium Proxy Class when use Appium
2021-01-09 11:21:30 +01:00
Zhaopeng XUAN 70fc3b411c Fix the issue 2021-01-08 12:05:34 +01:00
Zhaopeng XUAN 5e7ce8ce66 Feature: Support Selenium Proxy Class when use Appium 2021-01-08 11:44:56 +01:00
butomo1989 1d7121c41b Merge branch 'master' of github.com:butomo1989/docker-android 2021-01-08 08:34:25 +01:00
butomo1989 0a1758091f Updated base image 2021-01-08 08:34:06 +01:00
Budi UtomoandGitHub eb045aa644 Merge pull request #270 from jnvillar/patch-1
Update README_VMWARE.md
2021-01-07 10:42:00 +01:00
Juan Ignacio Noli VillarandGitHub e5a9fe7031 Update README_VMWARE.md 2020-12-17 10:49:08 -03:00
butomo1989 fdb464781a Added monitoring section 2020-09-02 11:33:07 +02:00
Budi UtomoandGitHub 2e5237ec80 Merge pull request #260 from yintro4ha/master
Able to add proxy user and password on Android emulator
2020-08-27 12:56:15 +02:00
yintro4haandGitHub b1f9ec5e79 Merge pull request #1 from yintro4ha/add-proxy-auth
Update utils.sh
2020-08-24 15:14:00 +08:00
yintro4haandGitHub 1ac4a6484e Update README_CUSTOM_CONFIG.md
Add document for new proxy auth variable
2020-08-24 15:10:03 +08:00
yintro4haandGitHub f09e38c92c Update utils.sh
Add Variable: 
1. HTTP_PROXY_USER
2. HTTP_PROXY_PASSWORD
2020-08-24 15:05:22 +08:00
butomo1989 e051faf84a Updated the base image 2020-07-31 10:51:08 +02:00
butomo1989 2461a6e832 Restart mobile data for specific version 2020-07-23 17:26:36 +02:00
butomo1989 20120f5c0a Added stargazers 2020-07-22 09:12:27 +02:00
butomo1989 6a0f135247 Typo 2020-07-17 14:59:21 +02:00
butomo1989 b36847817d Enable Animation 2020-07-17 14:58:17 +02:00
butomo1989 0196d23103 Switched the order because of bug on Android 10 or higher 2020-07-17 14:57:20 +02:00
butomo1989 01d1c663c1 Updated documentation 2020-07-14 09:54:31 +02:00
butomo1989 5b8ef77bba Updated link 2020-07-14 09:53:05 +02:00
butomo1989 3b3746fff3 Updated security link 2020-07-14 09:52:38 +02:00
butomo1989 d9ba33c9fa Renamed 2020-07-14 09:50:31 +02:00
butomo1989 94132acf41 Updated user statistics 2020-07-14 09:47:13 +02:00
butomo1989 86e7e0f8e5 Updated ga lines 2020-07-13 14:59:51 +02:00
butomo1989 77a1216730 Added docker-android users statistics 2020-07-13 14:20:51 +02:00
butomo1989 56e01002da Added Android 11.0 into travis configuration 2020-07-13 14:10:42 +02:00
butomo1989 287378162f Updated base image 2020-07-13 13:04:49 +02:00
butomo1989 8affae0fa1 Added Android 11.0 2020-07-13 13:03:58 +02:00
Budi UtomoandGitHub ca28b7ad10 Merge pull request #253 from analogue/update_readme_no_google_play
Update README to call out that google play store not installed
2020-07-12 18:54:47 +02:00
Budi UtomoandGitHub edebdfd380 Merge branch 'master' into update_readme_no_google_play 2020-07-12 18:46:08 +02:00
Budi UtomoandGitHub ddf0a451c9 Merge pull request #252 from analogue/fix_crashing_when_run_by_default_as_root_user
Workaround for "Running as root without --no-sandbox is not supported"
2020-07-12 18:45:40 +02:00
analogue fcc439b938 Update README to call out that play store not installed 2020-07-12 10:55:39 -05:00
analogue 68ac0c42ce Workaround crashing when run by default as root user 2020-07-12 09:56:22 -05:00
butomo1989 666d3eaee6 [Fixed issue in codacy] Using correct operator 2020-07-02 14:24:52 +02:00
butomo1989 ecfaf236b9 [Fixed issue in codacy] Added semi-colon 2020-07-02 14:24:18 +02:00
butomo1989 a5714c805d Fixed quote 2020-07-02 14:19:51 +02:00
butomo1989 9eb4b3c595 Fixed link 2020-07-02 14:18:17 +02:00
butomo1989 0389f64365 Removed duplicated note 2020-07-02 14:17:30 +02:00
butomo1989 ba476eb993 Merge branch 'master' of github.com:butomo1989/docker-android 2020-07-02 14:16:18 +02:00
butomo1989 9b2bc985e0 Added sample config of nginx 2020-07-02 14:16:02 +02:00
Budi UtomoandGitHub 1a9b9361e6 Merge pull request #248 from p0vidl0/master
Add selenium session timeout configuration via environment variable
2020-07-02 09:16:28 +02:00
Budi UtomoandGitHub abdb45ea0b Merge branch 'master' into master 2020-07-01 11:19:06 +02:00
butomo1989 b9d6237eb4 Added example to pass password through url 2020-07-01 11:06:05 +02:00
butomo1989 5936037a56 Removed unused lines 2020-06-26 16:02:58 +02:00
butomo1989 0460a62956 Added example of using nginx 2020-06-26 16:01:12 +02:00
Aleksandr Kalashnikov 6403ff78be Add selenium session timeout configuration via environment variable 2020-06-26 10:17:08 +06:00
butomo1989 7ad2eb45c8 Able to have pass in vnc 2020-06-18 16:08:48 +02:00
butomo1989 ea5661fa41 Added note 2020-06-17 17:14:57 +02:00
butomo1989 f323d29aa4 Fixed build issue for API 28 2020-06-17 17:14:50 +02:00
butomo1989 eec0c5df02 Fixed build issue for API 28 2020-06-17 12:21:36 +02:00
butomo1989 b66c5d122a Disabled apklinker 2020-05-08 15:03:47 +02:00
butomo1989 8289bc166f Using Appium 1.17.1 2020-05-08 14:18:14 +02:00
butomo1989 d1e9f7472b Added sponsor link 2020-04-25 09:08:24 +02:00
butomo1989 a22152fd4d Using Appium 1.17.0 2020-04-15 13:13:09 +02:00
butomo1989 83dcca4b8c Removed source 1810 2020-04-15 12:43:41 +02:00
Budi UtomoandGitHub a38691b5e2 Merge pull request #229 from Seabath/master
Add optional env to set avd name
2020-04-15 08:38:25 +02:00
butomo1989 ad696f84bf Merge branch 'master' of github.com:butomo1989/docker-android 2020-04-09 08:52:21 +02:00
butomo1989 b4d8241422 Using Appium 1.16.0 2020-04-09 08:52:11 +02:00
sfontanel feab383008 Add optional env to set avd name 2020-03-09 17:11:36 +01:00
Budi UtomoandGitHub d097c08789 Merge pull request #225 from ihorvitruk/patch-1
Update README.md
2020-01-24 09:06:21 +01:00
Ihor VitrukandGitHub f5978bab45 Update README.md 2020-01-17 23:30:19 +02:00
Budi UtomoandGitHub 6e953ab74b Merge pull request #214 from indranil32/patch-1
Updating README for issue #200
2020-01-07 10:07:48 +01:00
IndranilandGitHub 9794270552 Updating README for issue #200
Updating the google android sample project repo

https://github.com/budtmo/docker-android/issues/200
2019-11-28 00:31:05 +05:30
MashumaroandBudi Utomo ba5f76116b add optional option for device name in json file and use random name instead (Genymotion) 2019-11-20 15:29:41 +01:00
Andrzej ZabostandBudi Utomo e56975ec49 Add data partition size variable documentation (#211) 2019-11-20 15:28:09 +01:00
Budi UtomoandGitHub 2fa8734ac5 Updated GitHub-id 2019-11-03 15:17:18 +01:00
butomo1989 8337e63a53 Update base image 2019-10-22 08:12:48 +02:00
butomo1989 ee9c3e3635 Added Android 10 2019-09-17 14:51:02 +02:00
butomo1989 d8ac737d00 Disabled auto restart 2019-09-16 11:56:48 +02:00
butomo1989 d6a582ae20 Using the newest base image 2019-09-16 10:58:42 +02:00
ArneandBudi Utomo 120d80f0ab Using scrcpy instead of asm (#188) 2019-09-06 14:11:06 +02:00
Budi UtomoandGitHub 377cb04ca1 Merge pull request #189 from Arne-B/real-device-appium-xterm
Running Appium in xterm window
2019-08-20 11:51:35 +02:00
ArneandGitHub a1f83daf10 Running appium in xterm window
This provides the same behaviour as on the emulator containers
2019-08-14 12:28:04 +02:00
Budi UtomoandGitHub c27ab1d6d6 Merge pull request #186 from vvbogdanov87/genymotion-subnetid
Add subnet_id parameter [Genymotion on AWS]
2019-08-12 14:12:20 +02:00
vvbogdanov87 ca0f85b48f Update genymotion documentation 2019-08-09 13:47:57 -07:00
vvbogdanov87 b1114d9b87 Add subnet_id parameter 2019-08-08 14:49:37 -07:00
butomo1989 f5e273d05c Updated readme file 2019-07-26 16:56:21 +02:00
butomo1989 65c139e7d2 Added more Samsung devices and its skin 2019-07-26 16:55:12 +02:00
Budi UtomoandGitHub 34fa736916 Merge pull request #179 from rbaron/master
Fixed issue #170
2019-07-25 12:57:01 +02:00
Budi UtomoandGitHub b707d1971f Merge branch 'master' into master 2019-07-25 12:51:27 +02:00
butomo1989 5923820261 Merge branch 'master' of github.com:butomo1989/docker-android 2019-07-25 12:19:44 +02:00
butomo1989 d9389a48c6 Removed unused lines 2019-07-25 12:19:28 +02:00
Budi UtomoandGitHub 611a93d926 Merge pull request #181 from GraemeF/patch-1
Fixed typo
2019-07-24 12:03:05 +02:00
Graeme FosterandGitHub 4d64ece2f9 Fixed typo 2019-07-23 14:17:52 +00:00
Raphael Baron d1126b58c2 Fixes AVD unit tests 2019-07-20 12:35:44 +00:00
Raphael Baron d881cb2e06 Renames tests 2019-07-20 12:34:02 +00:00
Raphael Baron 9f0c6a595e Fixes app unit tests 2019-07-20 12:31:59 +00:00
Raphael Baron 8c09a3e169 Fixes documentation for persisting device config 2019-07-20 09:45:14 +00:00
Raphael Baron 0e1ffe9cff Uses android_emulator/config.ini instead of .android/devices.xml to assess if device has been previously initialized 2019-07-20 09:43:59 +00:00
butomo1989 9adec7fcfd Fixed missing path 2019-07-10 16:10:05 +02:00
butomo1989 4de36e6568 Added Docker-Android logo as Background for other images and cleaned up 2019-07-10 16:07:20 +02:00
Budi UtomoandGitHub c299582ac4 Merge pull request #173 from trinhpham/master
Added Docker-Android logo as Background
2019-07-10 15:59:57 +02:00
Trinh Pham 69654cd036 Set screen background on startup 2019-07-10 18:30:59 +07:00
Trinh Pham 81f110adea Set screen background on startup 2019-07-10 18:30:46 +07:00
Trinh Pham 068bb87ab3 Merge branch 'master' of https://github.com/budtmo/docker-android
# Conflicts:
#	docker/Emulator_x86
#	docker/configs/sources1810.list
#	docker/configs/x11vnc.pref
#	docker/sources1810.list
#	docker/x11vnc.pref
#	src/sources1810.list
#	src/x11vnc.pref
2019-07-10 18:28:53 +07:00
Trinh Pham d1559b6748 Set screen background on startup 2019-07-10 18:20:46 +07:00
Trinh Pham 5c3cc8ed4d Add screen background 2019-07-10 16:14:27 +07:00
Trinh Pham 2ba73f87e0 Organize config files 2019-07-10 15:59:18 +07:00
butomo1989 d789139be9 Added ATD 2019-07-10 10:13:26 +02:00
butomo1989 b162e2ee58 Fixed typo 2019-07-10 09:35:34 +02:00
butomo1989 42b4775e9f Updated the base image 2019-07-10 09:35:17 +02:00
Trinh Pham 4213882f04 Add screen background 2019-07-10 14:30:48 +07:00
butomo1989 1b6bdab388 Used the same implementation of Docker-Image from Emulator_x86 2019-07-09 14:13:52 +02:00
Budi UtomoandGitHub 087c91922c Merge pull request #171 from trinhpham/master
Activate only one view of Desktop
2019-07-09 13:54:42 +02:00
Trinh Pham 168f51471c Single virtual desktop 2019-07-09 18:10:58 +07:00
butomo1989 19e26a086b Enabled proxy on Android emulator 2019-07-05 09:37:19 +02:00
butomo1989 de073327af Addded different templates for issues 2019-07-03 10:54:05 +02:00
Budi UtomoandGitHub e7d684eb0a Updated readme.md 2019-07-03 10:36:08 +02:00
butomo1989 6237f452f8 Added hyperlink 2019-07-02 13:57:10 +02:00
Budi UtomoandGitHub cd2a7a5bcd Merge pull request #168 from trinhpham/master
Fixed vnc issue while clicking/dragging mouse and reduced image size
2019-07-02 11:27:40 +02:00
Trinh Pham 92acd04a53 Move Polyverse to top to reduce the image size 2019-06-28 15:09:36 +07:00
Trinh Pham 7afe1c0e54 Default value for DOCKER_ORG 2019-06-28 13:56:04 +07:00
Trinh Pham 455bf6023d Fix wrong path 2019-06-28 13:52:00 +07:00
Trinh Pham ce9936b6df Update x11vnc to prevent crash
- Fix PATH
2019-06-28 11:46:02 +07:00
Trinh Pham 359551e272 Update x11vnc to prevent crash 2019-06-28 11:34:30 +07:00
Trinh Pham c888c05572 Auto restart x11vnc if crashes
Related bug: https://bugs.launchpad.net/ubuntu/+source/x11vnc/+bug/1686084
2019-06-16 23:45:37 +07:00
butomo1989 3479738457 Updated readme 2019-06-13 22:47:51 +07:00
butomo1989 98a3b3d8d5 Using beta version 2019-06-13 17:24:37 +07:00
butomo1989 abf1d33e62 Deleted unused file 2019-06-07 14:33:33 +07:00
butomo1989 9e826e4f61 Replaced gmtool with gmsaas 2019-06-07 14:28:48 +07:00
butomo1989 5c2045a840 Replaced gmtool with gmsaas on installation process 2019-06-06 00:59:35 +07:00
butomo1989 aa7e88cf46 Use gpu swiftshader_indirect and VM acceleration by default 2019-05-29 21:56:19 +07:00
butomo1989 4ac0bebe99 Added Polyverse for security 2019-05-06 18:33:13 +07:00
butomo1989 ac9b6e9af7 Updated the base image 2019-05-06 18:26:16 +07:00
Budi UtomoandGitHub 65afbdeeba Merge pull request #156 from polyverse/master
Added Polymorphic
2019-05-04 09:05:43 +02:00
butomo1989 ed29b14c9e Updated the docker base image 2019-04-04 20:02:26 +07:00
Budi UtomoandGitHub 54cb0fc824 Replaced the old link 2019-03-18 10:31:20 +01:00
Budi UtomoandGitHub 15375cc53b Added README.md 2019-03-11 20:13:51 +01:00
budtmo 4516899786 Added credits in readme 2019-03-11 17:10:02 +01:00
budtmo 45e7df6db3 Added Samsung S7 and S7 Edge 2019-03-11 16:53:37 +01:00
Budi UtomoandGitHub b9a7a486e1 Renamed 2019-03-06 19:33:27 +01:00
Budi UtomoandGitHub 90642436dd Renamed 2019-03-06 17:19:02 +01:00
budtmo ef3c4e28c0 Added readme file for Jenkins 2019-03-06 15:57:45 +01:00
budtmo 4d4c22124f Added SaltStack 2019-03-01 12:46:50 +01:00
budtmo 7d63eac5ae Updated Genymotion to version 3.0.1 2019-03-01 11:14:38 +01:00
Chris Hanaoka b1be8ceeab added polymorphic linux install 2019-02-26 18:34:23 -08:00
budtmo fcb89f2702 Updated maintainer email 2019-02-21 18:01:38 +01:00
budtmo 226e088390 Updated Appium server to version 1.11.1 2019-02-21 17:57:20 +01:00
budtmo 3574b9825b Merge branch 'master' of github.com:budtmo/docker-android 2019-02-19 10:26:23 +01:00
budtmo d34d635114 Using Appium 1.11.0 2019-02-19 10:26:09 +01:00
Budi UtomoandGitHub 43d38adf76 Updated readme 2019-02-14 13:20:11 +01:00
Budi UtomoandGitHub a2d3c05a1c Merge pull request #145 from fossabot/master
Add license scan report and status
2019-02-12 15:53:56 +01:00
Budi UtomoandGitHub a4c7919209 Merge branch 'master' into master 2019-02-12 15:31:20 +01:00
Budi UtomoandGitHub 2e59c45142 Added PR badge 2019-02-11 10:42:37 +01:00
fossabot 664ad07905 Add license scan report and status
Signed-off-by: fossabot <badges@fossa.io>
2019-02-07 00:55:06 -08:00
Budi UtomoandGitHub 4b7de9d645 Merge pull request #143 from nonVoid/master
change timeout in generated nodeconfig.js from 30000 to 30 [because of Selenium 3.x]
2019-01-31 16:19:57 +01:00
nonVoidandGitHub 5d1cf8e671 Merge branch 'master' into master 2019-01-31 15:41:09 +01:00
Felix Weber 9441d537b7 change timeout in generated nodeconfig.js from 30000 to 30 2019-01-31 15:32:51 +01:00
Budi UtomoandGitHub a40acea0ba Merge pull request #142 from nonVoid/master
Fixed #135
2019-01-31 14:32:29 +01:00
Felix Weber 54811c0c81 change SCREEN_DEPTH to 24+32 in noVNC(xvfb) settings 2019-01-31 14:11:01 +01:00
budtmo 893abf99e4 Added release badge 2019-01-31 10:40:19 +01:00
budtmo 14b6091277 Deleted old video 2019-01-30 15:01:28 +01:00
budtmo 5acbce6654 Renamed 2019-01-30 14:58:31 +01:00
215 changed files with 4477 additions and 264 deletions
+17
View File
@@ -0,0 +1,17 @@
# These are supported funding model platforms
# Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: [budtmo]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
# Bitcoin (BTC)
custom:
- "paypal.me/budtmo"
+9 -3
View File
@@ -1,10 +1,16 @@
**Please make sure that it is an issue / a feature request. If it is a question / help wanted, please visit [our group chat](https://gitter.im/butomo1989/docker-android). Thank you!**
---
name: 🐛 Bug report
about: Report a bug to improve the tool
---
## 🐛 Bug Report
Operating System:
<!-- OSX Yosemite, Ubuntu 16.04, Windows 10 etc -->
<!-- OSX Yosemite, Ubuntu 18.04, Windows 10 etc -->
Docker Image:
<!-- butomo1989/docker-android-x86-7.1.1, butomo1989/docker-android-real-device etc -->
<!-- budtmo/docker-android-x86-7.1.1, budtmo/docker-android-real-device etc -->
Docker Version:
<!-- 17.09.0-ce, 17.06.2-ce etc -->
+16
View File
@@ -0,0 +1,16 @@
---
name: 🚀 Feature Request
about: Submit your idea to have cool features
---
## 🚀 Feature Request
Idea:
<!-- A clear explanation about the feature -->
Problems that want to be solved:
<!-- A clear explanation about why we need that feature -->
Note:
<!-- Additional note -->
+9
View File
@@ -0,0 +1,9 @@
---
name: 💬 Questions / Help
about: If you have questions, please check the group chat
---
## 💬 Questions and Help
**Please make sure that it is an issue / a feature request. If it is a question / help wanted, please visit [our group chat](https://gitter.im/budtmo/docker-android). Thank you!**
Regular → Executable
View File
-28
View File
@@ -1,28 +0,0 @@
language: python
python:
- "3.5"
sudo: required
services:
- docker
install: "pip install -r requirements.txt"
env:
- ANDROID_VERSION=5.0.1
- ANDROID_VERSION=5.1.1
- ANDROID_VERSION=6.0
- ANDROID_VERSION=7.0
- ANDROID_VERSION=7.1.1
- ANDROID_VERSION=8.0
- ANDROID_VERSION=8.1
- ANDROID_VERSION=9.0
- REAL_DEVICE=True
- GENYMOTION=True
script: bash travis.sh
after_success:
- bash <(curl -s https://codecov.io/bash)
+3 -3
View File
@@ -9,7 +9,7 @@ Docker-Android's analytics record some shared information for every event:
- The Google Analytics version i.e. `1` (https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#v)
- The Google Analytics anonymous IP setting is enabled i.e. `1` (https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#aip)
- The Docker-Android analytics tracking ID e.g. `UA-128205228-1` (https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#tid)
- The Docker-Android analytics tracking ID e.g. `UA-133466903-1` (https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#tid)
- The release version of machine, e.g. `Linux_version_4.4.16-boot2docker_(gcc_version_4.9.2_(Debian_4.9.2-10)_)_#1_SMP_Fri_Jul_29_00:13:24_UTC_2016` This does not allow us to track individual users but does enable us to accurately measure user counts vs. event counts (https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cid)
- Docker-Android analytics hit type, e.g. `event` (https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#t)
- Application type, e.g. `Emulator` (https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ec)
@@ -25,10 +25,10 @@ As far as we can tell it would be impossible for Google to match the randomly ge
Docker-Android's analytics are sent throughout Docker-Android's execution to Google Analytics over HTTPS.
## Who?
Docker-Android's analytics are accessible to Docker-Android's current maintainers. Contact [@butomo1989](https://github.com/butomo1989) if you are a maintainer and need access.
Docker-Android's analytics are accessible to Docker-Android's current maintainers. Contact [@budtmo](https://github.com/budtmo) if you are a maintainer and need access.
## How?
The code is viewable in [this lines](./src/appium.sh#L225-L247).
The code is viewable in [this script](./src/appium.sh).
## Opting out before starting Docker-Android
Docker-Android analytics helps us, maintainers and leaving it on is appreciated. However, if you want to opt out and not send any information, you can do this by using passing environment variable GA=false to the Docker container.
+1 -1
View File
@@ -12,7 +12,7 @@ Unless required by applicable law or agreed to in writing, software distributed
## Forks
Additionally to Apache-2.0, when you fork this repo you are required to either remove our Google Analytics tracking ID: UA-128205228-1 or stop usage gathering completely.
Additionally to Apache-2.0, when you fork this repo you are required to either remove our Google Analytics tracking ID: UA-133466903-1 or stop usage gathering completely.
## Data processing agreement
By using this software you agree that the following non-PII (non personally identifiable information) data will be collected, processed and used by the maintainers for the purpose of improving the docker-android project. Anonymisation with respect of the IP address means that only the first two octets of the IP address are collected.
+1 -1
View File
@@ -1 +1 @@
Budi Utomo <budi.ut.1989@gmail.com>
Budi Utomo <budtmo.os@gmail.com>
+73 -30
View File
@@ -2,11 +2,15 @@
<img id="header" src="./images/logo_dockerandroid_small.png" />
</p>
[![Analytics](https://ga-beacon.appspot.com/UA-128205228-1/github/butomo1989/docker-android/README.md)](https://github.com/igrigorik/ga-beacon "Analytics")
[![Join the chat at https://gitter.im/butomo1989/docker-android](https://badges.gitter.im/butomo1989/docker-android.svg)](https://gitter.im/butomo1989/docker-android?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/butomo1989/docker-android.svg?branch=master)](https://travis-ci.org/butomo1989/docker-android)
[![codecov](https://codecov.io/gh/butomo1989/docker-android/branch/master/graph/badge.svg)](https://codecov.io/gh/butomo1989/docker-android)
[![Analytics](https://ga-beacon.appspot.com/UA-133466903-1/github/budtmo/docker-android/README.md)](https://github.com/igrigorik/ga-beacon "Analytics")
[![Join the chat at https://gitter.im/budtmo/docker-android](https://badges.gitter.im/budtmo/docker-android.svg)](https://gitter.im/budtmo/docker-android?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://dev.azure.com/budtmoos/budtmoos/_apis/build/status/budtmo.docker-android.test?branchName=master)](https://dev.azure.com/budtmoos/budtmoos/_build/latest?definitionId=7&branchName=master)
[![codecov](https://codecov.io/gh/budtmo/docker-android/branch/master/graph/badge.svg)](https://codecov.io/gh/budtmo/docker-android)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/3f000ffb97db45a59161814e1434c429)](https://www.codacy.com/app/butomo1989/docker-appium?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=butomo1989/docker-appium&amp;utm_campaign=Badge_Grade)
[![GitHub release](https://img.shields.io/github/release/budtmo/docker-android.svg)](https://github.com/budtmo/docker-android/releases)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbudtmo%2Fdocker-android.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbudtmo%2Fdocker-android?ref=badge_shield)
[![Paypal Donate](https://img.shields.io/badge/paypal-donate-blue.svg)](http://paypal.me/budtmo)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
Docker-Android is a docker image built to be used for everything related to mobile website testing and Android project.
@@ -40,22 +44,28 @@ List of Docker images
|OS |Android |API |Browser |Browser version |Chromedriver |Image |Size |
|:---|:---|:---|:---|:---|:---|:---|:---|
|Linux|5.0.1|21|browser|37.0|2.21|butomo1989/docker-android-x86-5.0.1|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-x86-5.0.1.svg)](https://microbadger.com/images/butomo1989/docker-android-x86-5.0.1 "Get your own image badge on microbadger.com")|
|Linux|5.1.1|22|browser|39.0|2.13|butomo1989/docker-android-x86-5.1.1|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-x86-5.1.1.svg)](https://microbadger.com/images/butomo1989/docker-android-x86-5.1.1 "Get your own image badge on microbadger.com")|
|Linux|6.0|23|browser|44.0|2.18|butomo1989/docker-android-x86-6.0|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-x86-6.0.svg)](https://microbadger.com/images/butomo1989/docker-android-x86-6.0 "Get your own image badge on microbadger.com")|
|Linux|7.0|24|chrome|51.0|2.23|butomo1989/docker-android-x86-7.0|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-x86-7.0.svg)](https://microbadger.com/images/butomo1989/docker-android-x86-7.0 "Get your own image badge on microbadger.com")|
|Linux|7.1.1|25|chrome|55.0|2.28|butomo1989/docker-android-x86-7.1.1|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-x86-7.1.1.svg)](https://microbadger.com/images/butomo1989/docker-android-x86-7.1.1 "Get your own image badge on microbadger.com")|
|Linux|8.0|26|chrome|58.0|2.31|butomo1989/docker-android-x86-8.0|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-x86-8.0.svg)](https://microbadger.com/images/butomo1989/docker-android-x86-8.0 "Get your own image badge on microbadger.com")|
|Linux|8.1|27|chrome|61.0|2.33|butomo1989/docker-android-x86-8.1|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-x86-8.1.svg)](https://microbadger.com/images/butomo1989/docker-android-x86-8.1 "Get your own image badge on microbadger.com")|
|Linux|9.0|28|chrome|66.0|2.40|butomo1989/docker-android-x86-9.0|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-x86-9.0.svg)](https://microbadger.com/images/butomo1989/docker-android-x86-9.0 "Get your own image badge on microbadger.com")|
|All |-|-|-|-|-|butomo1989/docker-android-real-device|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-real-device.svg)](https://microbadger.com/images/butomo1989/docker-android-real-device "Get your own image badge on microbadger.com")|
|Linux|All|All|All|All|All|butomo1989/docker-android-genymotion|[![](https://images.microbadger.com/badges/image/butomo1989/docker-android-genymotion.svg)](https://microbadger.com/images/butomo1989/docker-android-genymotion "Get your own image badge on microbadger.com")|
|Linux|6.0|23|browser|44.0|2.18|budtmo/docker-android-x86-6.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-6.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-6.0 "Get your own image badge on microbadger.com")|
|Linux|7.0|24|chrome|51.0|2.23|budtmo/docker-android-x86-7.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-7.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-7.0 "Get your own image badge on microbadger.com")|
|Linux|7.1.1|25|chrome|55.0|2.28|budtmo/docker-android-x86-7.1.1|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-7.1.1.svg)](https://microbadger.com/images/budtmo/docker-android-x86-7.1.1 "Get your own image badge on microbadger.com")|
|Linux|8.0|26|chrome|58.0|2.31|budtmo/docker-android-x86-8.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-8.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-8.0 "Get your own image badge on microbadger.com")|
|Linux|8.1|27|chrome|61.0|2.33|budtmo/docker-android-x86-8.1|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-8.1.svg)](https://microbadger.com/images/budtmo/docker-android-x86-8.1 "Get your own image badge on microbadger.com")|
|Linux|9.0|28|chrome|66.0|2.40|budtmo/docker-android-x86-9.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-9.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-9.0 "Get your own image badge on microbadger.com")|
|Linux|10.0|29|chrome|74.0|74.0.3729.6|budtmo/docker-android-x86-10.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-10.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-10.0 "Get your own image badge on microbadger.com")|
|Linux|11.0|30|chrome|83.0|83.0.4103.39|budtmo/docker-android-x86-11.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-11.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-11.0 "Get your own image badge on microbadger.com")|
|Linux|12.0|31|chrome|93.0|93.0.4577.15|budtmo/docker-android-x86-12.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-12.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-12.0 "Get your own image badge on microbadger.com")|
|All |-|-|-|-|-|budtmo/docker-android-real-device|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-real-device.svg)](https://microbadger.com/images/budtmo/docker-android-real-device "Get your own image badge on microbadger.com")|
|All|All|All|All|All|All|budtmo/docker-android-genymotion|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-genymotion.svg)](https://microbadger.com/images/budtmo/docker-android-genymotion "Get your own image badge on microbadger.com")|
List of Devices
---------------
Type | Device Name
----- | -----
Phone | Samsung Galaxy S10
Phone | Samsung Galaxy S9
Phone | Samsung Galaxy S8
Phone | Samsung Galaxy S7 Edge
Phone | Samsung Galaxy S7
Phone | Samsung Galaxy S6
Phone | Nexus 4
Phone | Nexus 5
@@ -71,18 +81,25 @@ Docker is installed in your system.
Quick Start
-----------
1. Run Docker-Android
1. Your machine need to support virtualization. To check it:
```
sudo apt install cpu-checker
kvm-ok
```
2. Run Docker-Android
- For ***Linux OS***, please use image name that contains "x86"
```bash
docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" --name android-container butomo1989/docker-android-x86-8.1
docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" --name android-container budtmo/docker-android-x86-8.1
```
- For ***OSX*** and ***Windows OS***, please use Virtual Machine that support Virtualization with Ubuntu OS
2. Verify the ip address of docker host.
3. Verify the ip address of docker host.
- For OSX, you can find out by using following command:
@@ -92,54 +109,54 @@ Quick Start
- For different OS, localhost should work.
3. Open ***http://docker-host-ip-address:6080*** from web browser.
4. Open ***http://docker-host-ip-address:6080*** from web browser. Note: Adding ```?view_only=true``` will give user only view only permission.
Custom configurations
---------------------
[This document](README_CUSTOM_CONFIG.md) contains custom configurations of Docker-Android that you might need, e.g. Proxy, Changing language on fly, etc.
[This document](README_CUSTOM_CONFIG.md) contains custom configurations of Docker-Android that you might need, e.g. Proxy, Changing language on fly, etc.
Build Android project
---------------------
Docker-Android can be used for building Android project and executing its unit test. This following steps will illustrate how to build Android project:
1. Clone [this sample test project](https://github.com/googlesamples/android-testing).
1. Clone [this sample test project](https://github.com/android/testing-samples).
```bash
git clone git@github.com:googlesamples/android-testing.git
git clone git@github.com:android/testing-samples.git
```
2. Build the project
```bash
docker run -it --rm -v $PWD/android-testing/ui/espresso/BasicSample:/root/tmp butomo1989/docker-android-x86-8.1 tmp/gradlew build
docker run -it --rm -v $PWD/testing-samples/ui/espresso/BasicSample:/tmp -w /tmp budtmo/docker-android-x86-8.1 /tmp/gradlew build
```
Control Android connected to host (Emulator or Real Device)
-----------------------------------------------------------
1. Create a docker container with this command
1. Create a docker container with this command
```
$ docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -p 4723:4723 --name android-container-appium butomo1989/docker-android-real-device
$ docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -p 4723:4723 --name android-container-appium budtmo/docker-android-real-device
```
2. Open noVNC [http://localhost:6080](http://localhost:6080)
3. Open terminal by clicking right on **noVNC** window >> **Terminal emulator**
4. To connect to host's adb (make sure your host have adb and connected to the device.)
4. To connect to host's adb (make sure your host have adb and connected to the device.)
```
$ adb -H host.docker.internal devices
```
To specify port, just add `-P port_number`
```
$ adb -H host.docker.internal -P 5037 devices
```
5. Now your container can access your host devices. But, you need to add `remoteAdbHost` and `adbPort` desired capabilities to make **Appium** can recognise those devices.
@@ -199,8 +216,12 @@ SMS Simulation
Google Play Services and Google Play Store
------------------------------------------
Not installed at this time.
Docker-Android contains Google Play Service (v12.8.74) and Google Play Store (v11.0.50). Both applications are downloaded from [apklinker](https://www.apklinker.com/), so please be aware of it in case you use private/company account to that applications.
Jenkins
-------
This [document](README_JENKINS.md) gives you information about custom plugin that supports Docker-Android.
VMWARE
------
@@ -229,6 +250,26 @@ All logs inside container are stored under folder **/var/log/supervisor**. you c
docker exec -it android-container tail -f /var/log/supervisor/docker-android.stdout.log
```
Emulator Skins
--------------
The Emulator skins are taken from [Android Studio IDE](https://developer.android.com/studio) and [Samsung Developer Website](https://developer.samsung.com/)
Monitoring
----------
You can use [cadvisor](https://github.com/google/cadvisor) combined with influxdb / prometheus and grafana if needed to monitor each running container.
Users
-----
Docker-Android are being used by 100+ countries around the world.
[![ga-datastudio-docker-android](./images/docker-android_users.png)](https://datastudio.google.com/s/ht7HVKHKAQE)
Stargazers over time
--------------------
[![Stargazers over time](https://starchart.cc/budtmo/docker-android.svg)](https://starchart.cc/budtmo/docker-android)
Special Thanks
--------------
- [Gian Christanto] for creating a great logo!
@@ -237,6 +278,8 @@ LICENSE
--------------
See [License](LICENSE.md)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbudtmo%2Fdocker-android.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbudtmo%2Fdocker-android?ref=badge_large)
[appium]: <https://appium.io>
[espresso]: <https://developer.android.com/training/testing/espresso/>
[robotium]: <https://github.com/RobotiumTech/robotium>
+5 -3
View File
@@ -4,7 +4,7 @@ Run Appium Server
Appium is automation test framework to test mobile website and mobile application, including Android. To be able to use Appium, you need to run appium-server. You run Appium-Server inside docker-android container by ***opening port 4723*** and ***passing an environment variable APPIUM=true***.
```bash
docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -p 4723:4723 -e DEVICE="Samsung Galaxy S6" -e APPIUM=true --name android-container butomo1989/docker-android-x86-8.1
docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -p 4723:4723 -e DEVICE="Samsung Galaxy S6" -e APPIUM=true --name android-container budtmo/docker-android-x86-8.1
```
### Share Volume
@@ -12,7 +12,7 @@ docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -p 4723:4723 -
If you want to use appium to test UI of your android application, you need to share volume where the APK is located to folder ***/root/tmp***.
```bash
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -v $PWD/example/sample_apk:/root/tmp -e DEVICE="Nexus 5" -e APPIUM=true -e CONNECT_TO_GRID=true -e APPIUM_HOST="127.0.0.1" -e APPIUM_PORT=4723 -e SELENIUM_HOST="172.17.0.1" -e SELENIUM_PORT=4444 --name android-container butomo1989/docker-android-x86-8.1
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -v $PWD/example/sample_apk:/root/tmp -e DEVICE="Nexus 5" -e APPIUM=true -e CONNECT_TO_GRID=true -e APPIUM_HOST="127.0.0.1" -e APPIUM_PORT=4723 -e SELENIUM_HOST="172.17.0.1" -e SELENIUM_PORT=4444 --name android-container budtmo/docker-android-x86-8.1
```
### Connect to Selenium Grid
@@ -24,13 +24,15 @@ It is also possible to connect appium server that run inside docker-android with
- APPIUM_PORT=\<port\_number>
- SELENIUM_HOST="\<host\_ip\_address>"
- SELENIUM_PORT=\<port\_number>
- SELENIUM_TIMEOUT=\<timeout\_in\_seconds>
- SELENIUM_PROXY_CLASS=\<selenium\_proxy\_class\_name>
To run tests for mobile browser, following parameter can be passed:
- MOBILE\_WEB\_TEST=true
```bash
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" -e APPIUM=true -e CONNECT_TO_GRID=true -e APPIUM_HOST="127.0.0.1" -e APPIUM_PORT=4723 -e SELENIUM_HOST="172.17.0.1" -e SELENIUM_PORT=4444 -e MOBILE_WEB_TEST=true --name android-container butomo1989/docker-android-x86-8.1
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" -e APPIUM=true -e CONNECT_TO_GRID=true -e APPIUM_HOST="127.0.0.1" -e APPIUM_PORT=4723 -e SELENIUM_HOST="172.17.0.1" -e SELENIUM_PORT=4444 -e MOBILE_WEB_TEST=true --name android-container budtmo/docker-android-x86-8.1
```
### Video Recording
+1 -1
View File
@@ -19,7 +19,7 @@ the emulator can be brought up as follows:
# Assume app.apk is in /tmp
docker run --privileged -d -e DEVICE="Samsung Galaxy S6" --volume /tmp:/APK \
--name android_em butomo1989/docker-android-x86-8.1
--name android_em budtmo/docker-android-x86-8.1
docker exec android_em adb wait-for-device
docker exec android_em adb install /APK/app.apk
+52 -5
View File
@@ -1,11 +1,26 @@
VNC pass
--------
Passing ```VNC_PASSWORD="your_pass_here"``` will secure your vnc connection.
Proxy
-----
You can enable proxy inside container by passing following environment variables:
You can enable proxy inside container and Android emulator by passing following environment variables:
- HTTP_PROXY="\<docker\_bridge\_ip\_address>"
- HTTPS_PROXY="\<docker\_bridge\_ip\_address>"
- HTTP_PROXY="http://\<docker\_bridge\_ip>:<port>"
- HTTPS_PROXY=""http://\<docker\_bridge\_ip>:<port>"
- NO_PROXY="localhost"
- ENABLE_PROXY_ON_EMULATOR=true
Proxy with authentication
----
You can set proxy with authentication by passing following environment variable:
- HTTP_PROXY_USER="\<username>"
- HTTP_PROXY_PASSWORD="\<password>"
Language
--------
@@ -15,6 +30,15 @@ You can change the language setting of Android Emulator on the fly by passing fo
- LANGUAGE="\<language>"
- COUNTRY="\<country>"
Data partition size
-------------------
The size of the data partition can be set by passing the following environment variable:
- DATAPARTITION="\<size>"
The value can be specified in the same format that is used by the emulator config file (`disk.dataPartition.size`), e.g. `800m`.
Camera
------
@@ -22,15 +46,33 @@ Passing following environment variable to be able to connect laptop / pc camera
- EMULATOR_ARGS="-camera-back webcam0"
Custom Avd name Arguments
-------------------------
Passing following environment variable to set a custom avd name
- AVD_NAME="customName"
Custom Emulator Arguments
-------------------------
If you want to add more arguments for running emulator, you can ***pass an environment variable EMULATOR_ARGS*** while running docker command.
```bash
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" -e EMULATOR_ARGS="-no-snapshot-load -partition-size 512" --name android-container butomo1989/docker-android-x86-8.1
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" -e EMULATOR_ARGS="-no-snapshot-load -partition-size 512" --name android-container budtmo/docker-android-x86-8.1
```
Appium Test Distribution (ATD)
------------------------------
You can enable [ATD](https://github.com/AppiumTestDistribution/AppiumTestDistribution) by passing environment variable ATD=true and bind the port to the host, e.g. -p 4567:4567
SaltStack
---------
You can enable [SaltStack](https://github.com/saltstack/salt) to control running containers by passing environment variable SALT_MASTER=<ip_address_of_salt_master>.
Back & Restore
--------------
@@ -40,7 +82,12 @@ If you want to backup/reuse the avds created with furture upgrades or for replic
- -v local_backup/android_emulator:/root/android_emulator
```bash
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -v local_backup/.android:/root/.android -v local_backup/android_emulator:local_backup/android_emulator -e DEVICE="Nexus 5" --name android-container butomo1989/docker-android-x86-8.1
docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -v local_backup/.android:/root/.android -v local_backup/android_emulator:/root/android_emulator -e DEVICE="Nexus 5" --name android-container budtmo/docker-android-x86-8.1
```
For the first run, this will create a new avd and all the changes will be accessible in the `local_backup` directory. Now for all future runs, it will reuse the avds. Even this should work with new releases of `docker-android`
Nginx
-----
Sample nginx configuration can be found [here](nginx)
+18 -7
View File
@@ -3,7 +3,7 @@ Genymotion Cloud
![Genymotion](images/logo_genymotion.png)
You can easily scale your Appium tests on Genymotion Android virtual devices in the cloud. They are available on SaaS or as virtual images on AWS, GCP or Alibaba Cloud.
You can easily scale your Appium tests on Genymotion Android virtual devices in the cloud. They are available on [SaaS](http://bit.ly/2YP0P1l) or as virtual images on AWS, GCP or Alibaba Cloud.
1. On SaaS <br />
Use [device.json](genymotion/example/sample_devices/devices.json) to define the device to start. You can specify the port on which the device will start so you don't need to change the device name in your tests every time you need to run those tests. Then run following command
@@ -11,20 +11,31 @@ You can easily scale your Appium tests on Genymotion Android virtual devices in
```bash
export USER="xxx"
export PASS="xxx"
export LICENSE="xxx"
docker run -it --rm -p 4723:4723 -v $PWD/genymotion/example/sample_devices:/root/tmp -e TYPE=SaaS -e USER=$USER -e PASS=$PASS -e LICENSE=$LICENSE butomo1989/docker-android-genymotion
docker run -it --rm -p 4723:4723 -v $PWD/genymotion/example/sample_devices:/root/tmp -e TYPE=SaaS -e USER=$USER -e PASS=$PASS budtmo/docker-android-genymotion
```
<p align="center">
<a href="https://youtu.be/jXhUEyaVeMY"><img src="./images/Genymotion_cloud.png" alt="Docker-Android supports Genymotion Cloud" width="600"></a>
</p>
In case you are interesed to play around with Genymotion on SaaS, you can register to [this link](http://bit.ly/2YP0P1l) to get 1000 free minutes for free.
2. On PaaS (AWS) <br />
Use [aws.json](genymotion/example/sample_devices/aws.json) to define configuration of EC2 instance and run following command:
```bash
docker run -it --rm -p 4723:4723 -v $PWD/genymotion/example/sample_devices:/root/tmp -v ~/.aws:/root/.aws -e TYPE=aws butomo1989/docker-android-genymotion
docker run -it --rm -p 4723:4723 -v $PWD/genymotion/example/sample_devices:/root/tmp -v ~/.aws:/root/.aws -e TYPE=aws budtmo/docker-android-genymotion
```
Existing security group and subnet can be used:
```json
[
{
"region": "us-west-2",
"instance": "t2.small",
"AMI": "ami-0673cbd39ef84d97c",
"SG": "sg-000aaa",
"subnet_id": "subnet-000aaa"
}
]
```
You can also use [this docker-compose file](genymotion/example/geny.yml).
+6
View File
@@ -0,0 +1,6 @@
Jenkins
-------
Following Jenkins plug-ins supports Docker-Android to optimize your work.
1. Live preview: [budtmo/jenkins-plugin-vncviewer-docker-container](https://github.com/budtmo/vncviewer-docker-container-plugin)
+21 -7
View File
@@ -38,23 +38,37 @@ The following instructions are used for OS X. You'll need [docker-machine-parall
![Enable nested virtualization for Parallels Desktop](images/parallels_enable_nested_virtualization.png)
4. Enable kvm inside virtual machine
4.1. Run as an account other than root to install kvm packages using tce-load.
4.0 SSH to the machine
```bash
# su docker
$ tce-load -wi kvm
docker-machine ssh vmware-dev
```
4.2. Run as root to load kvm module after kvm packages install.
4.1 Check kvm version
```bash
# version
$ 10.1
```
Go to http://tinycorelinux.net/10.x/x86_64/tcz/ and check your kvm version, for version 10.1 is kvm-4.19.10-tinycore64.tcz
4.2. Run as an account other than root to install kvm packages using tce-load.
```bash
# su docker
$ tce-load -wi kvm-4.19.10-tinycore64.tcz
```
4.3. Run as root to load kvm module after kvm packages install.
```bash
$ sudo modprobe kvm_intel
```
4.3. Check if the kvm device is loaded.
4.4. Check if the kvm device is loaded.
```bash
$ ls /dev/kvm
```
4.4. Check if your CPU supports hardware virtualization now
4.5. Check if your CPU supports hardware virtualization now
```bash
$ egrep -c '(vmx|svm)' /proc/cpuinfo
```
@@ -65,7 +79,7 @@ The following instructions are used for OS X. You'll need [docker-machine-parall
5. You may now run a docker container
5.1. Let's run a docker image for an emulator with x86 processor.
```bash
docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" --name android-container butomo1989/docker-android-x86-8.1
docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" --name android-container budtmo/docker-android-x86-8.1
```
When the services inside this docker container are running, connect to http://10.211.55.3:6080/vnc.html (the IP we got when the docker machine was created) and login. The emulator with x86 processor should be running on screen.
+101
View File
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<d:devices xmlns:d="http://schemas.android.com/sdk/devices/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<d:device>
<d:name>Samsung Galaxy S10</d:name>
<d:manufacturer>User</d:manufacturer>
<d:meta/>
<d:hardware>
<d:screen>
<d:screen-size>large</d:screen-size>
<d:diagonal-length>6.1</d:diagonal-length>
<d:pixel-density>xxxhdpi</d:pixel-density>
<d:screen-ratio>long</d:screen-ratio>
<d:dimensions>
<d:x-dimension>1440</d:x-dimension>
<d:y-dimension>3040</d:y-dimension>
</d:dimensions>
<d:xdpi>575.92</d:xdpi>
<d:ydpi>575.92</d:ydpi>
<d:touch>
<d:multitouch>jazz-hands</d:multitouch>
<d:mechanism>finger</d:mechanism>
<d:screen-type>capacitive</d:screen-type>
</d:touch>
</d:screen>
<d:networking>
Bluetooth
Wifi
NFC
</d:networking>
<d:sensors>
Accelerometer
Barometer
Compass
GPS
Gyroscope
LightSensor
ProximitySensor
</d:sensors>
<d:mic>true</d:mic>
<d:camera>
<d:location>back</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:camera>
<d:location>front</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:keyboard>qwerty</d:keyboard>
<d:nav>nonav</d:nav>
<d:ram unit="GiB">4</d:ram>
<d:buttons>hard</d:buttons>
<d:internal-storage unit="GiB">
4
</d:internal-storage>
<d:removable-storage unit="TiB"/>
<d:cpu>Generic CPU</d:cpu>
<d:gpu>Generic GPU</d:gpu>
<d:abi>
armeabi-v7a
x86
x86_64
</d:abi>
<d:dock/>
<d:power-type>battery</d:power-type>
</d:hardware>
<d:software>
<d:api-level>-</d:api-level>
<d:live-wallpaper-support>true</d:live-wallpaper-support>
<d:bluetooth-profiles/>
<d:gl-version>2.0</d:gl-version>
<d:gl-extensions/>
<d:status-bar>false</d:status-bar>
</d:software>
<d:state default="true" name="Portrait">
<d:description>The device in portrait orientation</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape">
<d:description>The device in landscape orientation</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Portrait with keyboard">
<d:description>The device in portrait orientation with a keyboard open</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape with keyboard">
<d:description>The device in landscape orientation with a keyboard open</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
</d:device>
</d:devices>
+101
View File
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<d:devices xmlns:d="http://schemas.android.com/sdk/devices/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<d:device>
<d:name>Samsung Galaxy S7</d:name>
<d:manufacturer>User</d:manufacturer>
<d:meta/>
<d:hardware>
<d:screen>
<d:screen-size>large</d:screen-size>
<d:diagonal-length>5.10</d:diagonal-length>
<d:pixel-density>xxxhdpi</d:pixel-density>
<d:screen-ratio>long</d:screen-ratio>
<d:dimensions>
<d:x-dimension>1440</d:x-dimension>
<d:y-dimension>2560</d:y-dimension>
</d:dimensions>
<d:xdpi>575.92</d:xdpi>
<d:ydpi>575.92</d:ydpi>
<d:touch>
<d:multitouch>jazz-hands</d:multitouch>
<d:mechanism>finger</d:mechanism>
<d:screen-type>capacitive</d:screen-type>
</d:touch>
</d:screen>
<d:networking>
Bluetooth
Wifi
NFC
</d:networking>
<d:sensors>
Accelerometer
Barometer
Compass
GPS
Gyroscope
LightSensor
ProximitySensor
</d:sensors>
<d:mic>true</d:mic>
<d:camera>
<d:location>back</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:camera>
<d:location>front</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:keyboard>qwerty</d:keyboard>
<d:nav>nonav</d:nav>
<d:ram unit="GiB">4</d:ram>
<d:buttons>hard</d:buttons>
<d:internal-storage unit="GiB">
4
</d:internal-storage>
<d:removable-storage unit="TiB"/>
<d:cpu>Generic CPU</d:cpu>
<d:gpu>Generic GPU</d:gpu>
<d:abi>
armeabi-v7a
x86
x86_64
</d:abi>
<d:dock/>
<d:power-type>battery</d:power-type>
</d:hardware>
<d:software>
<d:api-level>-</d:api-level>
<d:live-wallpaper-support>true</d:live-wallpaper-support>
<d:bluetooth-profiles/>
<d:gl-version>2.0</d:gl-version>
<d:gl-extensions/>
<d:status-bar>false</d:status-bar>
</d:software>
<d:state default="true" name="Portrait">
<d:description>The device in portrait orientation</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape">
<d:description>The device in landscape orientation</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Portrait with keyboard">
<d:description>The device in portrait orientation with a keyboard open</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape with keyboard">
<d:description>The device in landscape orientation with a keyboard open</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
</d:device>
</d:devices>
+101
View File
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<d:devices xmlns:d="http://schemas.android.com/sdk/devices/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<d:device>
<d:name>Samsung Galaxy S7 Edge</d:name>
<d:manufacturer>User</d:manufacturer>
<d:meta/>
<d:hardware>
<d:screen>
<d:screen-size>large</d:screen-size>
<d:diagonal-length>5.50</d:diagonal-length>
<d:pixel-density>xxxhdpi</d:pixel-density>
<d:screen-ratio>long</d:screen-ratio>
<d:dimensions>
<d:x-dimension>1440</d:x-dimension>
<d:y-dimension>2560</d:y-dimension>
</d:dimensions>
<d:xdpi>575.92</d:xdpi>
<d:ydpi>575.92</d:ydpi>
<d:touch>
<d:multitouch>jazz-hands</d:multitouch>
<d:mechanism>finger</d:mechanism>
<d:screen-type>capacitive</d:screen-type>
</d:touch>
</d:screen>
<d:networking>
Bluetooth
Wifi
NFC
</d:networking>
<d:sensors>
Accelerometer
Barometer
Compass
GPS
Gyroscope
LightSensor
ProximitySensor
</d:sensors>
<d:mic>true</d:mic>
<d:camera>
<d:location>back</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:camera>
<d:location>front</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:keyboard>qwerty</d:keyboard>
<d:nav>nonav</d:nav>
<d:ram unit="GiB">4</d:ram>
<d:buttons>hard</d:buttons>
<d:internal-storage unit="GiB">
4
</d:internal-storage>
<d:removable-storage unit="TiB"/>
<d:cpu>Generic CPU</d:cpu>
<d:gpu>Generic GPU</d:gpu>
<d:abi>
armeabi-v7a
x86
x86_64
</d:abi>
<d:dock/>
<d:power-type>battery</d:power-type>
</d:hardware>
<d:software>
<d:api-level>-</d:api-level>
<d:live-wallpaper-support>true</d:live-wallpaper-support>
<d:bluetooth-profiles/>
<d:gl-version>2.0</d:gl-version>
<d:gl-extensions/>
<d:status-bar>false</d:status-bar>
</d:software>
<d:state default="true" name="Portrait">
<d:description>The device in portrait orientation</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape">
<d:description>The device in landscape orientation</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Portrait with keyboard">
<d:description>The device in portrait orientation with a keyboard open</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape with keyboard">
<d:description>The device in landscape orientation with a keyboard open</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
</d:device>
</d:devices>
+101
View File
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<d:devices xmlns:d="http://schemas.android.com/sdk/devices/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<d:device>
<d:name>Samsung Galaxy S8</d:name>
<d:manufacturer>User</d:manufacturer>
<d:meta/>
<d:hardware>
<d:screen>
<d:screen-size>large</d:screen-size>
<d:diagonal-length>5.80</d:diagonal-length>
<d:pixel-density>xxxhdpi</d:pixel-density>
<d:screen-ratio>long</d:screen-ratio>
<d:dimensions>
<d:x-dimension>1440</d:x-dimension>
<d:y-dimension>2960</d:y-dimension>
</d:dimensions>
<d:xdpi>575.92</d:xdpi>
<d:ydpi>575.92</d:ydpi>
<d:touch>
<d:multitouch>jazz-hands</d:multitouch>
<d:mechanism>finger</d:mechanism>
<d:screen-type>capacitive</d:screen-type>
</d:touch>
</d:screen>
<d:networking>
Bluetooth
Wifi
NFC
</d:networking>
<d:sensors>
Accelerometer
Barometer
Compass
GPS
Gyroscope
LightSensor
ProximitySensor
</d:sensors>
<d:mic>true</d:mic>
<d:camera>
<d:location>back</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:camera>
<d:location>front</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:keyboard>qwerty</d:keyboard>
<d:nav>nonav</d:nav>
<d:ram unit="GiB">4</d:ram>
<d:buttons>hard</d:buttons>
<d:internal-storage unit="GiB">
4
</d:internal-storage>
<d:removable-storage unit="TiB"/>
<d:cpu>Generic CPU</d:cpu>
<d:gpu>Generic GPU</d:gpu>
<d:abi>
armeabi-v7a
x86
x86_64
</d:abi>
<d:dock/>
<d:power-type>battery</d:power-type>
</d:hardware>
<d:software>
<d:api-level>-</d:api-level>
<d:live-wallpaper-support>true</d:live-wallpaper-support>
<d:bluetooth-profiles/>
<d:gl-version>2.0</d:gl-version>
<d:gl-extensions/>
<d:status-bar>false</d:status-bar>
</d:software>
<d:state default="true" name="Portrait">
<d:description>The device in portrait orientation</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape">
<d:description>The device in landscape orientation</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Portrait with keyboard">
<d:description>The device in portrait orientation with a keyboard open</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape with keyboard">
<d:description>The device in landscape orientation with a keyboard open</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
</d:device>
</d:devices>
+101
View File
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<d:devices xmlns:d="http://schemas.android.com/sdk/devices/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<d:device>
<d:name>Samsung Galaxy S9</d:name>
<d:manufacturer>User</d:manufacturer>
<d:meta/>
<d:hardware>
<d:screen>
<d:screen-size>large</d:screen-size>
<d:diagonal-length>5.80</d:diagonal-length>
<d:pixel-density>xxxhdpi</d:pixel-density>
<d:screen-ratio>long</d:screen-ratio>
<d:dimensions>
<d:x-dimension>1440</d:x-dimension>
<d:y-dimension>2960</d:y-dimension>
</d:dimensions>
<d:xdpi>575.92</d:xdpi>
<d:ydpi>575.92</d:ydpi>
<d:touch>
<d:multitouch>jazz-hands</d:multitouch>
<d:mechanism>finger</d:mechanism>
<d:screen-type>capacitive</d:screen-type>
</d:touch>
</d:screen>
<d:networking>
Bluetooth
Wifi
NFC
</d:networking>
<d:sensors>
Accelerometer
Barometer
Compass
GPS
Gyroscope
LightSensor
ProximitySensor
</d:sensors>
<d:mic>true</d:mic>
<d:camera>
<d:location>back</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:camera>
<d:location>front</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:keyboard>qwerty</d:keyboard>
<d:nav>nonav</d:nav>
<d:ram unit="GiB">4</d:ram>
<d:buttons>hard</d:buttons>
<d:internal-storage unit="GiB">
4
</d:internal-storage>
<d:removable-storage unit="TiB"/>
<d:cpu>Generic CPU</d:cpu>
<d:gpu>Generic GPU</d:gpu>
<d:abi>
armeabi-v7a
x86
x86_64
</d:abi>
<d:dock/>
<d:power-type>battery</d:power-type>
</d:hardware>
<d:software>
<d:api-level>-</d:api-level>
<d:live-wallpaper-support>true</d:live-wallpaper-support>
<d:bluetooth-profiles/>
<d:gl-version>2.0</d:gl-version>
<d:gl-extensions/>
<d:status-bar>false</d:status-bar>
</d:software>
<d:state default="true" name="Portrait">
<d:description>The device in portrait orientation</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape">
<d:description>The device in landscape orientation</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keyshidden</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Portrait with keyboard">
<d:description>The device in portrait orientation with a keyboard open</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
<d:state name="Landscape with keyboard">
<d:description>The device in landscape orientation with a keyboard open</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keysexposed</d:keyboard-state>
<d:nav-state>navhidden</d:nav-state>
</d:state>
</d:device>
</d:devices>
+4
View File
@@ -0,0 +1,4 @@
Sources
--------
The Emulator skins are taken from [Android Studio IDE](https://developer.android.com/studio) and [Samsung Developer Website](https://developer.samsung.com/home.do)
@@ -0,0 +1,4 @@
[port-button2.png]
rotate=rotate(2)
[port-button3.png]
rotate=rotate(3)
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

@@ -0,0 +1,21 @@
hw.lcd.density = 550
hw.trackBall = no
hw.keyboard = yes
hw.dPad = no
hw.camera = yes
hw.gps = yes
hw.battery = yes
hw.accelerometer = yes
hw.sdCard = yes
hw.touchScreen = yes
hw.gsmModem = yes
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

+416
View File
@@ -0,0 +1,416 @@
parts {
portrait {
background {
image device_Port.png
}
}
landscape {
background {
image device_Land.png
}
}
device {
display {
width 1440
height 3040
x 0
y 0
}
}
controls {
background {
image controls.png
}
buttons {
camera {
image button.png
x 8
y 8
}
volume-down {
image button.png
x 214
y 8
}
volume-up {
image button.png
x 419
y 8
}
power {
image button.png
x 624
y 8
}
phone-dial {
image button.png
x 8
y 273
}
phone-hangup {
image button.png
x 624
y 273
}
home {
image button.png
x 8
y 537
}
menu {
image button.png
x 214
y 537
}
back {
image button.png
x 419
y 537
}
search {
image button.png
x 624
y 537
}
dpad-left {
image arrow_left.png
x 284
y 201
}
dpad-up {
image arrow_up.png
x 8
y 678
}
dpad-down {
image arrow_down.png
x 214
y 678
}
dpad-right {
image arrow_right.png
x 450
y 216
}
dpad-select {
image select.png
x 284
y 299
}
}
}
keyboard {
background {
image keyboard.png
}
buttons {
1 {
image key-num.png
x 17
y 11
}
2 {
image key-num.png
x 149
y 11
}
3 {
image key-num.png
x 282
y 11
}
4 {
image key-num.png
x 413
y 11
}
5 {
image key-num.png
x 545
y 11
}
6 {
image key-num.png
x 677
y 11
}
7 {
image key-num.png
x 809
y 11
}
8 {
image key-num.png
x 941
y 11
}
9 {
image key-num.png
x 1072
y 11
}
0 {
image key-num.png
x 1204
y 11
}
q {
image key.png
x 17
y 78
}
w {
image key.png
x 149
y 78
}
e {
image key.png
x 281
y 78
}
r {
image key.png
x 412
y 78
}
t {
image key.png
x 544
y 78
}
y {
image key.png
x 676
y 78
}
u {
image key.png
x 808
y 78
}
i {
image key.png
x 940
y 78
}
o {
image key.png
x 1071
y 78
}
p {
image key.png
x 1201
y 78
}
a {
image key.png
x 83
y 161
}
s {
image key.png
x 215
y 161
}
d {
image key.png
x 347
y 161
}
f {
image key.png
x 479
y 161
}
g {
image key.png
x 610
y 161
}
h {
image key.png
x 742
y 161
}
j {
image key.png
x 874
y 161
}
k {
image key.png
x 1006
y 161
}
l {
image key.png
x 1138
y 161
}
CAP {
image key2.png
x 17
y 244
}
z {
image key.png
x 215
y 244
}
x {
image key.png
x 347
y 244
}
c {
image key.png
x 479
y 244
}
v {
image key.png
x 610
y 244
}
b {
image key.png
x 742
y 244
}
n {
image key.png
x 874
y 244
}
m {
image key.png
x 1006
y 244
}
DEL {
image key2.png
x 1138
y 244
}
SYM {
image key2.png
x 17
y 326
}
T {
image key.png
x 216
y 326
}
SPACE {
image spacebar.png
x 347
y 326
}
PERIOD {
image key.png
x 1006
y 326
}
NEXT {
image key2.png
x 1138
y 326
}
}
}
}
layouts {
portrait {
width 4120
height 3477
color 0xe0e0e0
event EV_SW:0:1
part1 {
name portrait
x 0
y 0
}
part2 {
name device
x 452
y 222
}
part3 {
name controls
x 2660
y 883
}
part4 {
name keyboard
x 2385
y 1847
}
}
landscape {
width 4120
height 3477
color 0xe0e0e0
event EV_SW:0:0
dpad-rotation 3
part1 {
name landscape
x 0
y 0
}
part2 {
name device
x 532
y 1864
rotation 3s
}
part3 {
name controls
x 2506
y 2072
}
part4 {
name keyboard
x 744
y 2213
}
}
}
keyboard {
charmap qwerty2
}
network {
speed full
delay none
}
@@ -0,0 +1,12 @@
name=Galaxy_S10
vendor=Samsung Electronics Co., Inc.
description=Android OS, v9.0 (Pie) device without physical keyboard and three way navigation.
# default skin
skin=Galaxy_S10
# version of the Android platform on which this add-on is built.
api=27
# revision of the add-on
revision=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

@@ -0,0 +1,4 @@
[port-button2.png]
rotate=rotate(2)
[port-button3.png]
rotate=rotate(3)
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

@@ -0,0 +1,21 @@
hw.lcd.density = 577
hw.trackBall = no
hw.keyboard = yes
hw.dPad = no
hw.camera = yes
hw.gps = yes
hw.battery = yes
hw.accelerometer = yes
hw.sdCard = yes
hw.touchScreen = yes
hw.gsmModem = yes
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

+449
View File
@@ -0,0 +1,449 @@
parts {
portrait {
background {
image device_Port.png
}
buttons {
back {
image port-button3.png
x 686
y 3158
}
home {
image port-button2.png
x 1015
y 3139
}
soft-left {
image port-button1.png
x 1596
y 3158
}
}
}
landscape {
background {
image device_Land.png
}
buttons {
soft-left {
image land-button3.png
x 3437
y 1523
}
home {
image land-button2.png
x 3416
y 959
}
back {
image land-button1.png
x 3437
y 617
}
}
}
device {
display {
width 1440
height 2560
x 0
y 0
}
}
controls {
background {
image controls.png
}
buttons {
camera {
image button.png
x 8
y 8
}
volume-down {
image button.png
x 214
y 8
}
volume-up {
image button.png
x 419
y 8
}
power {
image button.png
x 624
y 8
}
phone-dial {
image button.png
x 8
y 273
}
phone-hangup {
image button.png
x 624
y 273
}
home {
image button.png
x 8
y 537
}
menu {
image button.png
x 214
y 537
}
back {
image button.png
x 419
y 537
}
search {
image button.png
x 624
y 537
}
dpad-left {
image arrow_left.png
x 284
y 201
}
dpad-up {
image arrow_up.png
x 8
y 678
}
dpad-down {
image arrow_down.png
x 214
y 678
}
dpad-right {
image arrow_right.png
x 450
y 216
}
dpad-select {
image select.png
x 284
y 299
}
}
}
keyboard {
background {
image keyboard.png
}
buttons {
1 {
image key-num.png
x 17
y 11
}
2 {
image key-num.png
x 149
y 11
}
3 {
image key-num.png
x 282
y 11
}
4 {
image key-num.png
x 413
y 11
}
5 {
image key-num.png
x 545
y 11
}
6 {
image key-num.png
x 677
y 11
}
7 {
image key-num.png
x 809
y 11
}
8 {
image key-num.png
x 941
y 11
}
9 {
image key-num.png
x 1072
y 11
}
0 {
image key-num.png
x 1204
y 11
}
q {
image key.png
x 17
y 78
}
w {
image key.png
x 149
y 78
}
e {
image key.png
x 281
y 78
}
r {
image key.png
x 412
y 78
}
t {
image key.png
x 544
y 78
}
y {
image key.png
x 676
y 78
}
u {
image key.png
x 808
y 78
}
i {
image key.png
x 940
y 78
}
o {
image key.png
x 1071
y 78
}
p {
image key.png
x 1201
y 78
}
a {
image key.png
x 83
y 161
}
s {
image key.png
x 215
y 161
}
d {
image key.png
x 347
y 161
}
f {
image key.png
x 479
y 161
}
g {
image key.png
x 610
y 161
}
h {
image key.png
x 742
y 161
}
j {
image key.png
x 874
y 161
}
k {
image key.png
x 1006
y 161
}
l {
image key.png
x 1138
y 161
}
CAP {
image key2.png
x 17
y 244
}
z {
image key.png
x 215
y 244
}
x {
image key.png
x 347
y 244
}
c {
image key.png
x 479
y 244
}
v {
image key.png
x 610
y 244
}
b {
image key.png
x 742
y 244
}
n {
image key.png
x 874
y 244
}
m {
image key.png
x 1006
y 244
}
DEL {
image key2.png
x 1138
y 244
}
SYM {
image key2.png
x 17
y 326
}
T {
image key.png
x 216
y 326
}
SPACE {
image spacebar.png
x 347
y 326
}
PERIOD {
image key.png
x 1006
y 326
}
NEXT {
image key2.png
x 1138
y 326
}
}
}
}
layouts {
portrait {
width 4120
height 3477
color 0xe0e0e0
event EV_SW:0:1
part1 {
name portrait
x 0
y 0
}
part3 {
name device
x 456
y 498
}
part4 {
name controls
x 2660
y 883
}
part5 {
name keyboard
x 2385
y 1847
}
}
landscape {
width 4120
height 3477
color 0xe0e0e0
event EV_SW:0:0
dpad-rotation 3
part1 {
name landscape
x 0
y 0
}
part2 {
name device
x 777
y 1854
rotation 3s
}
part3 {
name controls
x 2506
y 2072
}
part4 {
name keyboard
x 744
y 2213
}
}
}
keyboard {
charmap qwerty2
}
network {
speed full
delay none
}
@@ -0,0 +1,12 @@
name=Galaxy_S7
vendor=Samsung Electronics Co., Inc.
description=Android OS, v6.0 (Marshmallow) device without physical keyboard and three way navigation.
# default skin
skin=Galaxy_S7
# version of the Android platform on which this add-on is built.
api=9
# revision of the add-on
revision=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

@@ -0,0 +1,4 @@
[port-button2.png]
rotate=rotate(2)
[port-button3.png]
rotate=rotate(3)
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 856 KiB

@@ -0,0 +1,21 @@
hw.lcd.density = 534
hw.trackBall = no
hw.keyboard = yes
hw.dPad = no
hw.camera = yes
hw.gps = yes
hw.battery = yes
hw.accelerometer = yes
hw.sdCard = yes
hw.touchScreen = yes
hw.gsmModem = yes
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Some files were not shown because too many files have changed in this diff Show More