2017-09-04 21 views
6

Po aktualizacji do 3.0.0 beta wtyczki Gradle 4 nasza budowa nie powiodło się z następującym komunikatem:Gradle plugin 3.0.0 beta 4: "buildTypeMatching została usunięta Użyj buildTypes <name> .fallbacks.".

buildTypeMatching ma zostały usunięte. Użyj buildTypes. <nazwa> .fallbacks

nasze biblioteki posiadają release i debugbuildType s, ale nasza aplikacja posiada dwa dodatkowe buildType s: 'releaseWithLogs' i 'debugMinified'.

fragment naszej app pliku Gradle:

android { 
    // ... 
    buildTypeMatching 'releaseWithLogs', 'release' 
    buildTypeMatching 'debugMinified', 'debug' 

    buildTypes { 
     debug { 
      // ... 
     } 
     debugMinified { 
      // ... 
     } 
     release { 
      // ... 
     } 
     releaseWithLogs { 
      // ... 
     } 
    } 
} 

Odpowiedz

16

Po pewnym dochodzenia, co następuje ogłoszenie zostało znalezione: Android Studio 3.0 Beta 4 is now available. Tam jest mowa o:

teraz podać fallbacks brakujących budować rodzaje i smaki pomocą matchingFallbacks (który zastępuje buildTypeMatching i productFlavorMatching). Zapewniasz także domyślny wybór i awarie brakujących wymiarów za pomocą missingDimensionStrategy (który zastępuje flavorSelection).

Tak, nasza poprzednia aplikacja build.gradle zostanie przekonwertowany do:

android { 
    // ... 
    //buildTypeMatching 'releaseWithLogs', 'release' // remove this 
    //buildTypeMatching 'debugMinified', 'debug'  // remove this 

    buildTypes { 
     debug { 
      // ... 
     } 
     debugMinified { 
      // ... 
      matchingFallbacks = ['debug'] // instead use this 
     } 
     release { 
      // ... 
     } 
     releaseWithLogs { 
      // ... 
      matchingFallbacks = ['release'] // instead use this 
     } 
    } 
} 

Zauważ, że zamiast mówić, że buildTypereleaseWithLogs będzie również pasować release (buildTypeMatching 'releaseWithLogs', 'release'), możemy określić dopasowanie wewnątrz samemu buildType. To samo dotyczy debugMinified dopasowania debug. Zwróć też uwagę, że nie ma potrzeby dołączania tego do release i debug

+0

Nie jest to określone w dokumentacji, ale 'matchingFallbacks = ['...']' musi być ostatnią instrukcją 'buildType', ponieważ nie działało dla mnie, kiedy ustawiłem ją jako pierwszą jeden? – Eselfar

+0

@ Eselfar Nie sądzę. Czy możesz otworzyć nowe pytanie z dodatkowymi informacjami, więc mogę spróbować pomóc i wkleić link tutaj jako komentarz? –