У нас есть много разных сборок, вкусов и размеров в нашем проекте. Но после обновления до Android Studio 3.5 мы заметили странное поведение: когда мы создаем точку останова в некотором lambda нашего файла, который существует более чем в одном варианте сборки, тогда отладчик не работает должным образом и в него попадаютфайл (с тем же именем и пакетом) другого варианта сборки. Интересно, что вся эта проблема возникает только тогда, когда точка останова настроена на срабатывание в теле лямбды и работает отлично, в противном случае
Итак, чтобы воспроизвести эту проблему, вам необходимо:
- Создайте два варианта и файл с одинаковым именем в каждом из этих вариантов
- Создайте код, содержащий лямбду в одной строке
X
в обоих вариантах
Теперь произойдет только одна из двух вещей, но не обе:
- Когда вы находитесь в аромате А и создаете триггер на линии
X
, он будет прерываться на той же самой линии, нов файле ароматизатора B - Когда вы находитесь в ароматизаторе B и создаете триггер в строке
X
, он будет прерываться на той же строке, но в файле ароматизатора A
Вот некоторые скриншоты того, когда мы пытались воспроизвести проблему:
AuthRepository ActualFlavor (Активный вариант сборки): ![enter image description here](https://i.stack.imgur.com/f6S6D.png)
AuthRepository DummyFlavor: ![enter image description here](https://i.stack.imgur.com/cCMxk.png)
Итак, вопрос в том, что мы делаем не так? Или это действительно проблема в Android Studio прямо сейчас?
Версия Android Studio = 3.5 версия kotlin = 1.3.50 сборка: версия gradle = 3.5.1