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

Aberta
#20 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
25/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
android, go
Domínio
cli, devtools

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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,另外跟那边说。
  • 文档站「开发:管理器和命令行」里写明:开发用的根目录要换一段端口。

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

Linguagem predominante
Go
Estrelas
0
Forks
1
Merge médio
2h 42min
PRs com merge (30d)
13

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de ModAVD/ModAVDManager

Todas as issues de ModAVD/ModAVDManager

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.