2017-10-31 69 views
5

Po zaktualizować Androida 3.0 i studio do migracji mojego projektu, wykonując tę ​​instructionstudio Android 3.0 dostał Błąd SHA-256 strawienia błędu dla org/jacoco/agenta/RT/RT.class

mam błąd podobny do tego :

* What went wrong: 
Execution failed for task 
':app:transformClassesWithFirebasePerformancePluginForDevDebug'. 
> SHA-256 digest error for org/jacoco/agent/rt/RT.class 

Śledziłem i odkryłem, że główna przyczyna pochodziła z tego kodu w pliku build.gradle.

debug { 
    ... 
    // Run code coverage reports by default on debug builds. 
    testCoverageEnabled = true 
} 

Ponieważ kiedy skomentowałem ten wiersz kodu, projekt był dobrze zbudowany. Nie mam tego problemu, gdy używałem Androida Studio 2.3.

I przeszukali kilka podobnych tematów i okazało się, że ktoś powiedział wyłączenie natychmiastowe run rozwiąże, ale niestety nie działa na moim przypadku.

Czy ktoś ma jakieś sugestie, aby rozwiązać ten problem?

Dzięki

Odpowiedz

4

UPDATE 2:

Firebase Pomoc nadal twierdzi, że poprawka nie zostanie wyrzucona na zewnątrz, ale próbowałem go dzisiaj z najnowszymi wersjami firebase-perf i jacoco i to działa.

UPDATE 1:

firebase-perf nie działa z jacoco gdy Java 1.8 support jest włączony. Zespół wsparcia Firebase mógł to powtórzyć i prowadzi dochodzenie.

Original post:

Wygląda to być wyzwalane, gdy firebase-perf plugin jest włączony. Złożyłem błąd w zespole Firebase i zaktualizuję, jeśli otrzymam odpowiedź.

Jako tymczasowe obejście problemu, po prostu zakomentowanie apply plugin ... firebase-perf powinno pomóc. Wyłączone zostanie Automatic Traces, ale nadal powinny działać @AddTrace i newTrace.

W moim przypadku testCoverageEnabled jest zestaw warunkowo na podstawie właściwości projektu i nie muszę Firebase-perf plugin przy ocenie zasięgu, więc po prostu wyłączyć wtyczki:

if (!project.hasProperty('coverageRun')) { 
    apply plugin: 'com.google.firebase.firebase-perf' 
} 
// <...> 
if (project.hasProperty('coverageRun')) { 
    testCoverageEnabled true 
}