Невозможно запустить инструментальные тесты Android из -за несовместимости ProtobufAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Невозможно запустить инструментальные тесты Android из -за несовместимости Protobuf

Сообщение Anonymous »

Я пытаюсь запустить очень базовый инструментальный тест Android, но он терпит неудачу с: < /p>

Код: Выделить всё

Caused by: org.gradle.api.GradleException: There were failing tests. See the report at: file:///Users/someuser/projects/someproject/mobile/build/reports/androidTests/connected/debug/index.html
< /code>
Однако отчет показывает 0 тестов. < /p>
Когда я выполняю с флагом -info, я вижу: < /p>
SEVERE: Fatal error while executing main with args: --proto_config=/Users/someuser/.android/utp/runnerConfig7855209403948940259.pb --proto_server_config=/Users/someuser/.android/utp/serverConfig5980226795530272985.pb
java.lang.IllegalAccessError: class com.google.protobuf.GeneratedMessageV3 tried to access method 'boolean com.google.protobuf.CodedInputStream.shouldDiscardUnknownFields()' (com.google.protobuf.GeneratedMessageV3 is in unnamed module of loader java.net.URLClassLoader @74518890; com.google.protobuf.CodedInputStream is in unnamed module of loader 'app')
at com.google.protobuf.GeneratedMessageV3.parseUnknownField(GeneratedMessageV3.java:317)
at com.android.server.adb.protos.AppProcessesProto$ProcessEntry.(AppProcessesProto.java:119)
at com.android.server.adb.protos.AppProcessesProto$ProcessEntry.(AppProcessesProto.java:54)
at com.android.server.adb.protos.AppProcessesProto$ProcessEntry$1.parsePartialFrom(AppProcessesProto.java:778)
at com.android.server.adb.protos.AppProcessesProto$ProcessEntry$1.parsePartialFrom(AppProcessesProto.java:772)
at com.google.protobuf.CodedInputStream$ArrayDecoder.readMessage(CodedInputStream.java:980)
at com.android.server.adb.protos.AppProcessesProto$AppProcesses.(AppProcessesProto.java:879)
at com.android.server.adb.protos.AppProcessesProto$AppProcesses.(AppProcessesProto.java:829)
at com.android.server.adb.protos.AppProcessesProto$AppProcesses$1.parsePartialFrom(AppProcessesProto.java:1571)
at com.android.server.adb.protos.AppProcessesProto$AppProcesses$1.parsePartialFrom(AppProcessesProto.java:1565)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:111)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:126)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:20)
at com.android.server.adb.protos.AppProcessesProto$AppProcesses.parseFrom(AppProcessesProto.java:1027)
at com.android.ddmlib.internal.DeviceClientMonitorTask$TrackAppProcessor.onMessage(DeviceClientMonitorTask.java:585)
at com.android.ddmlib.internal.DeviceClientMonitorTask$Processor.onBytesReceived(DeviceClientMonitorTask.java:501)
at com.android.ddmlib.internal.DeviceClientMonitorTask.run(DeviceClientMonitorTask.java:281)
at java.base/java.lang.Thread.run(Thread.java:840)
В build.gradle у меня есть:

Код: Выделить всё

compileSdk 34
< /code>
и: < /p>
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
< /code>
Когда я запускаю идентичный тест в проекте, который имеет: < /p>
compileSdk 36
это работает нормально.
Есть ли какой -нибудь быстрый способ решить эту проблему без необходимости нажимать SDK и зависимые библиотеки?

Подробнее здесь: https://stackoverflow.com/questions/797 ... patibility
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»