Compare commits

..
88 Commits
Author SHA1 Message Date
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
butomo1989 1c844033f6 Merge branch 'master' of github.com:butomo1989/docker-android 2019-01-16 10:49:17 +01:00
butomo1989 83ba9bb79e Using Appium 1.10.1 2019-01-16 10:49:05 +01:00
Budi UtomoandGitHub 712d3485ad Merge pull request #139 from nichotined/master
Added documentation how to connect emulator to the host
2019-01-16 09:36:35 +01:00
Nicholas FrederickandGitHub 04512a0d16 Update README.md
Added Control Android connected to host (Emulator or Real Device)
2019-01-15 22:30:58 +07:00
199 changed files with 3347 additions and 132 deletions
+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
+1 -1
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)
+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>
+66 -16
View File
@@ -2,11 +2,14 @@
<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://travis-ci.org/budtmo/docker-android.svg?branch=master)](https://travis-ci.org/budtmo/docker-android)
[![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)
[![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 +43,27 @@ 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|5.0.1|21|browser|37.0|2.21|budtmo/docker-android-x86-5.0.1|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-5.0.1.svg)](https://microbadger.com/images/budtmo/docker-android-x86-5.0.1 "Get your own image badge on microbadger.com")|
|Linux|5.1.1|22|browser|39.0|2.13|budtmo/docker-android-x86-5.1.1|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-5.1.1.svg)](https://microbadger.com/images/budtmo/docker-android-x86-5.1.1 "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")|
|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
@@ -76,7 +84,7 @@ Quick Start
- 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
@@ -113,8 +121,35 @@ Docker-Android can be used for building Android project and executing its unit t
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/android-testing/ui/espresso/BasicSample:/root/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
```
$ 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.)
```
$ 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.
Appium and Selenium Grid
------------------------
@@ -175,6 +210,11 @@ Google Play Services and Google Play Store
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
------
@@ -202,6 +242,14 @@ 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](e)
Security
--------
All docker images are protected by [Polyverse](https://polyverse.io/) by scrambling the Linux packages. For more information please read [this](https://polyverse.io/how-it-works/)
Special Thanks
--------------
- [Gian Christanto] for creating a great logo!
@@ -210,6 +258,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>
+3 -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
@@ -30,7 +30,7 @@ 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
+16 -5
View File
@@ -1,11 +1,12 @@
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
Language
--------
@@ -28,9 +29,19 @@ 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 +51,7 @@ 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`
+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)
+1 -1
View File
@@ -65,7 +65,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

+449
View File
@@ -0,0 +1,449 @@
parts {
portrait {
background {
image device_Port.png
}
buttons {
back {
image port-button3.png
x 708
y 3146
}
home {
image port-button2.png
x 1026
y 3124
}
soft-left {
image port-button1.png
x 1550
y 3146
}
}
}
landscape {
background {
image device_Land.png
}
buttons {
soft-left {
image land-button3.png
x 3424
y 1511
}
home {
image land-button2.png
x 3401
y 983
}
back {
image land-button1.png
x 3424
y 671
}
}
}
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_Edge
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

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