From 5fa97745b6b9a0223f5034bef960bab3d6493535 Mon Sep 17 00:00:00 2001 From: okxlin Date: Thu, 29 Aug 2024 17:20:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0docker-android=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/docker-android/README.md | 44 +++++++++++++++ apps/docker-android/data.yml | 19 +++++++ apps/docker-android/latest/.env.sample | 6 +++ apps/docker-android/latest/data.yml | 50 ++++++++++++++++++ apps/docker-android/latest/docker-compose.yml | 20 +++++++ apps/docker-android/logo.png | Bin 0 -> 2505 bytes 6 files changed, 139 insertions(+) create mode 100644 apps/docker-android/README.md create mode 100644 apps/docker-android/data.yml create mode 100644 apps/docker-android/latest/.env.sample create mode 100644 apps/docker-android/latest/data.yml create mode 100644 apps/docker-android/latest/docker-compose.yml create mode 100644 apps/docker-android/logo.png diff --git a/apps/docker-android/README.md b/apps/docker-android/README.md new file mode 100644 index 00000000..df59fb61 --- /dev/null +++ b/apps/docker-android/README.md @@ -0,0 +1,44 @@ +# Docker-Android + +Docker-Android 是一个用于 Android 相关一切事务的 Docker 镜像。它可以用于应用程序开发和测试(包括原生应用、网页应用和混合应用)。 + + +## 使用说明 + +要验证您的系统是否支持 KVM,请运行以下命令: + +``` +sudo apt install cpu-checker +sudo kvm-ok +``` + +**容器镜像与模拟的设备型号可从以下选择 (后续官方可能有修改,以官方文档为准)** + +Docker 镜像列表 +--------------------- +|Android |API |最新版本镜像 |指定版本镜像| +|:---|:---|:---|:---| +|9.0|28|budtmo/docker-android:emulator_9.0|budtmo/docker-android:emulator_9.0_| +|10.0|29|budtmo/docker-android:emulator_10.0|budtmo/docker-android:emulator_10.0_| +|11.0|30|budtmo/docker-android:emulator_11.0|budtmo/docker-android:emulator_11.0_| +|12.0|32|budtmo/docker-android:emulator_12.0|budtmo/docker-android:emulator_12.0_| +|13.0|33|budtmo/docker-android:emulator_13.0|budtmo/docker-android:emulator_13.0_| +|14.0|34|budtmo/docker-android:emulator_14.0|budtmo/docker-android:emulator_14.0_| +|-|-|budtmo/docker-android:genymotion|budtmo/docker-android:genymotion_| + +设备列表 +--------------- + +|类型 | 设备名称| +|----- | -----| +|手机 | Samsung Galaxy S10| +|手机 | Samsung Galaxy S9| +|手机 | Samsung Galaxy S8| +|手机 | Samsung Galaxy S7 Edge| +|手机 | Samsung Galaxy S7| +|手机 | Samsung Galaxy S6| +|手机 | Nexus 4| +|手机 | Nexus 5| +|手机 | Nexus One| +|手机 | Nexus S| +|平板 | Nexus 7| \ No newline at end of file diff --git a/apps/docker-android/data.yml b/apps/docker-android/data.yml new file mode 100644 index 00000000..b741e253 --- /dev/null +++ b/apps/docker-android/data.yml @@ -0,0 +1,19 @@ +name: Docker-Android +tags: + - 实用工具 +title: 在 Docker 中运行 Android +description: 在 Docker 中运行 Android +additionalProperties: + key: docker-android + name: Docker-Android + tags: + - Tool + shortDescZh: 在 Docker 中运行 Android + shortDescEn: Run Android in Docker + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/budtmo/docker-android + github: https://github.com/budtmo/docker-android + document: https://github.com/budtmo/docker-android diff --git a/apps/docker-android/latest/.env.sample b/apps/docker-android/latest/.env.sample new file mode 100644 index 00000000..39341bcf --- /dev/null +++ b/apps/docker-android/latest/.env.sample @@ -0,0 +1,6 @@ +CONTAINER_NAME="docker-android" +EMULATOR_DEVICE="Samsung Galaxy S10" +IMAGE="budtmo/docker-android:latest" +PANEL_APP_PORT_HTTP=40288 +RESTART_POLICY="always" +WEB_VNC="true" diff --git a/apps/docker-android/latest/data.yml b/apps/docker-android/latest/data.yml new file mode 100644 index 00000000..f25a4434 --- /dev/null +++ b/apps/docker-android/latest/data.yml @@ -0,0 +1,50 @@ +additionalProperties: + formFields: + - default: "budtmo/docker-android:latest" + edit: true + envKey: IMAGE + labelEn: Container Image + labelZh: 容器镜像 + required: true + type: text + - default: "always" + edit: true + envKey: RESTART_POLICY + labelEn: Restart Policy + labelZh: 重启策略 + required: true + type: select + values: + - label: "Always" + value: "always" + - label: "Unless Stopped" + value: "unless-stopped" + - label: "No" + value: "no" + - default: "Samsung Galaxy S10" + edit: true + envKey: EMULATOR_DEVICE + labelEn: Emulator Device + labelZh: 模拟的设备 + required: true + type: text + - default: "true" + edit: true + envKey: WEB_VNC + labelEn: Web VNC + labelZh: Web VNC + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "40288" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number diff --git a/apps/docker-android/latest/docker-compose.yml b/apps/docker-android/latest/docker-compose.yml new file mode 100644 index 00000000..f6d6da0c --- /dev/null +++ b/apps/docker-android/latest/docker-compose.yml @@ -0,0 +1,20 @@ +services: + docker-android: + image: ${IMAGE} + container_name: ${CONTAINER_NAME} + restart: ${RESTART_POLICY} + networks: + - 1panel-network + devices: + - /dev/kvm + environment: + - EMULATOR_DEVICE=${EMULATOR_DEVICE} + - WEB_VNC=${WEB_VNC} + ports: + - ${PANEL_APP_PORT_HTTP}:6080 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/docker-android/logo.png b/apps/docker-android/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..24df2a7fe5e32c3f172d6edd99eeecef4615592c GIT binary patch literal 2505 zcmaJ?c{G&!AD$>=i=@UfmdG-e?2IkTj3rx!>}1K3Jw$dgG#E0L2#H}3p)#6ett>IN zv88Lf7cnK2m@Jk1&eiSQe}2DnKJW8BpXd90p6`3U=RN0}ddb|7jhUAj1Ol-c8^Mvl zn?QS*=mBKrq5??Ae96=r0g#G**zZb84*)oTG(v(Ur3D@;zYHY6sfH)fie^irnQ28* zqmBG-|4BGp0(4Y{AK(WFzF(b&0LReGF>w+9gaqOT)KD0I6d?Y0cUmm1P#OM*`M(2! z7T|~90C4<(>fsVC?can${@)f)(mb^N76Ag(t+c>jW{m%@mh>y|&_LU$PaO}O#=qg^ z{WL>LX7J%4a3;T(@cr6=m{#BpVC9esfQKH;eV4pC%aTr=hXZQ z-b}u$b89%5})~6616InnoDSdq*@@5RK zSEG7VF|*XMq!)TCH7GX8H><)fyZZ7cF{(ZAH{1wcj5H)Tev-*Iq=kh~?=Saswi0TSZw6Tn zbP-EZqeC23RTTt2F25xKdUlY<6&nLFex~o!6HjW=(Fx}ACs+TRz-NYfSU^REn49gt zZLIfpcP5$q_`Xe9oSmtwD=#lC%nb8)b+EM%G#z>*00J>g8N+q0Z~n11wPMAk3-0}L zMUM%sYs}%nQaHkS?3jqqD7?asLy9^Vz0vkfVdgjZ=tb$VD6x9*sC+#N~cAK@-b}Ih`Ujnw;A%2cAaut`Z># z!ciS<7{o|elBmFv@Y*E&&R3561?L(oRsvc~*<_vRHHC z?Z`0S8PO?76>83!8{v8KG>g1hT_$AYLZ^$V?LnD7nq4HStk?&lwI8viNx@qkEloww zJfZB`Y=K=*kS%%YK8`%9AE+{Rah1dlrg?BEE-K?VauPP8em|JjQ3U3R* zrpcC^v!O2tG#Ex*MR7+^lDPzD-3ACnF?qS%=|d<|+K^~}8bT0jdv!}xL_PXa*m4$S zHooA)D@Cjic^*fskU2B9fE!eHW<{azs*FfLoNFcxonr{imHHwXf#3DFsy)udP7A=& zMB>xfKb=t^quG~?*Pv0me;q%w6i(lEG|Ox{EG&W^`&v-YdDU_8Y|ZNqG!?SHgU=6~ zu_aHW;+m{Q95mRP-(QQI0EHvZWS+cSO{teMhkorg^qVc?G$j6j?ZsZ$ZeL$@WNejc z&Jl_-(Q#72jYWKtkf2y9Le#(o~J8`cy<#qZ&9a-g7pQfUTF2fa(bf3OAG9`B!@TK7j>X*l%Am>BS&^`FD2r14R6bpNNB%cpW{_m+N4Nd z^bwNU`QqJ?sXZ+v9#5U{0B=jHER6I+`Ik2EZv3pIv! zS0%2l?BS%?N&AQr?NkPK(y|PXml9o1q-VVpVr{Y zRRca@T(EJ;pw@=0CH1Gc?dM3=g$mSOQ2Xj?daIOVq^7q&<-Nu#MtVB0WGa&P*yf8L znssOTJ;}D(-U$lAH?Y$fZC&cuuu5$UTe^=I#pT|`mDG1_T)z*#dW!AKUH7PY!>&j6 z3naM2qD@~Zw_^N-W@(GY5~nnj9ZJ)UsZdeNd}~czL5ELRnL`+1Sl(T5tq&F{%~AAW zF)Fq*-^AL{Q>)o-@e?&5bmA@1ygszq!2#Mr6bOEBz)OnT{*biw(0|7pF2VCxFhj+7 zFsvqE7(KD)?mMOUP4ranOvdKCaYI})Yjr_%$ht8j!824pOEU!h1w%=GYV2J9*@(T% zadEihMGKkODAQuruC}>^hxXWmAel#ejCM#D(IX^?))p6{~ z{9RbzpY?yBDwI;HHTX>W3kz#2y@+dDyC-&4HCvvyxm5*yq&uH&{hjMYZoI1>@<6#E r)H{b!U#qP$)A|42G#;2I2i@n9g^tIaa}$z*TNq@FFo)Ocx!(F4>lex4 literal 0 HcmV?d00001