开发和测试用的根目录,和生产共用同一组实例端口

Abierto
#20 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
android, go
Área
cli, devtools

Línea de trabajo

Start with how instance ports are derived from the instance number and the root directory, and where mas-avd.json (adbServerPort, scriptAdbServerPort) is read. The issue leaves the approach open: it proposes an optional portBase that also moves the port-conflict check, the SHM_videmulator<port> shared-memory name and the screenshot and MAA connection address. Coordinate with the maintainer before choosing a design, since the AUTO-MAS side is out of scope here. Done means a dev root can use a different port range without affecting the default, plus the docs update.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement P2 开发

现象

维护者跑回归时,用的是单独的测试根目录。它的 0 号实例和生产的 0 号实例,端口都是 20000、20001、20002。11-01 跑回归时碰到两件事:

  • 生产 0 号开着的时候,测试只能等它关掉(那次等了 26 分钟)。

  • 测试实例开着的时候,AUTO-MAS 按端口把它认成了生产 0 号:

    • 界面上显示「在线」;
    • 把它登记进生产的私有 adb server;
    • 往生产的日志目录里写它的客体日志。

    这时在 AUTO-MAS 里对「实例 0」做任何操作(开关机、显示窗口、跑任务),都会落到测试实例上。

原因

实例的端口是固定算出来的:20000 + 10 × 编号(adb 再加 1,gRPC 再加 2),和是哪个根目录无关。mas-avd.json 只能改私有 adb server 的端口(adbServerPort、scriptAdbServerPort),改不了实例端口。AUTO-MAS 的算法一样,管理器是照着它逐字对照的。

要做到的

开发和测试用的根目录,不和生产共用端口。做法待定,初步想法:

  • mas-avd.json 加一个可选的 portBase,默认 20000,和现在、和 AUTO-MAS 都保持一致;开发用的根目录设成别的段,比如 21000。下面这些都要跟着这个起点走:
    • 实例端口;
    • 端口冲突检查;
    • 截图共享内存的名字(SHM_videmulator<端口>);
    • 截图通道和 MAA 的连接地址。
  • AUTO-MAS 认实例时,不能只看端口,还要核对是不是自己根目录里的那个 AVD,对不上就不当成自己的。这部分在 AUTO-MAS,另外跟那边说。
  • 文档站「开发:管理器和命令行」里写明:开发用的根目录要换一段端口。

只影响开发和测试,普通用户不受影响。

Lenguaje dominante
Go
Estrellas
0
Forks
1
Merge medio
2 h 42 min
PR fusionados (30 d)
13

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ModAVD/ModAVDManager

Todos los issues de ModAVD/ModAVDManager

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.