2017-06-20 12 views
10

Mam problem i przyjrzałem się ewentualnym duplikatom pytań i odpowiedzi i myślę, że ten nie jest odpowiedział przez innych, więc pytam go tutaj.kompilacja appcompat v7: 26. + błąd podczas dodawania usług odtwarzania dla dostawcy lokalizacji fuzji

Zaktualizowałem moje usługi odtwarzania, aby skorzystać z usługodawcy złączy topikowych, a teraz appcompat w moim gradle pokazuje błąd.

Tak więc stworzyłem nowy projekt i sprawdziłem build.gradle w nowym projekcie i mam dokładnie ten sam appcompat, ale mój projekt pokazuje błąd.

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 26 
buildToolsVersion "26.0.0" 
defaultConfig { 
    applicationId "au.com.itmobilesupport.sqltwo" 
    minSdkVersion 17 
    targetSdkVersion 26 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 
compile 'com.android.support:appcompat-v7:26.+' 
compile 'com.android.support:recyclerview-v7:26.+' 
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+' 
testCompile 'junit:junit:4.12' 
compile 'com.google.android.gms:play-services-maps:11.0.0' 
compile 'com.google.android.gms:play-services:11.0.1' 
} 

Jest to linia, która pokazuje błąd:

compile 'com.android.support:appcompat-v7:26.+' 

Ale w nowym projekcie grzywny. Dlaczego pojawia się błąd?

UPDATE:

Jeśli mogę usunąć te dwie linie to błąd odchodzi:

compile 'com.google.android.gms:play-services-maps:11.0.0' 
compile 'com.google.android.gms:play-services:11.0.1' 

Ale muszę je tak nadal mają błąd.

+1

Wydaje się być tylko linią com.google.android.gms: play-services, która powoduje błąd. wciąż szukam rozwiązania – timv

Odpowiedz

4

W końcu rozwiązano problem przy pomocy ZeroOne's answer na podobne pytanie.

To, co skłoniło mnie do spojrzenia na odpowiedź ZeroOnes, to Google, podając mi powód, ale nie jako błąd. Mój problem polegał na tym, że poniższy wiersz jest zbyt obszerny i dodano wiele dodatkowych zależności, które spowodowałyby niepotrzebne zwiększenie aplikacji.

compile 'com.google.android.gms:play-services:11.0.1' 

Po prostu musiałem być bardziej szczegółowy, a błąd zniknął.

Oto ostateczny gradle.

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.0" 
    defaultConfig { 
     applicationId "au.com.itmobilesupport.sqltwo" 
     minSdkVersion 17 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:26.+' 
    compile 'com.android.support:recyclerview-v7:26.+' 
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+' 
    testCompile 'junit:junit:4.12' 
    compile 'com.google.android.gms:play-services-maps:11.0.1' 
    compile 'com.google.android.gms:play-services-location:11.0.1' 
} 

I to jest SZCZEGÓLNE linia zmienić powyższe do:

compile 'com.google.android.gms:play-services-location:11.0.1' 

Nadzieja pomaga kogoś, kto przychodzi po drugiej stronie tej samej kwestii.

+1

Sprawdź to również, ponieważ było bardzo pomocne. https://developers.google.com/android/guides/setup – timv

+0

Nie mam żadnego kodu usług odtwarzania, ale nadal otrzymuję to, nawet jeśli (po aktualizacji) zacznę nowy, świeży projekt. Próbowałem użyć dokładnych numerów wersji, bezskutecznie.Ten post StackOverflow jest jedyną stroną, którą Google zwraca po dokładnym wyszukaniu tego konkretnego błędu (dodając "Unikaj używania + bla bla") – Joshua

5

Dodaj te linie do pliku build.gradle, aby uzyskać biblioteki, których nie masz na podstawie Google site.

allprojects { 
    repositories { 
     jcenter() 
     maven { 
      url "https://maven.google.com" 
     } 
    } 
} 

Caution: Using dynamic dependencies (for example, palette-v7:23.0.+) can cause unexpected version updates and regression incompatibilities. We recommend that you explicitly specify a library version (for example, palette-v7:25.4.0).

+0

To działało dla mnie, dzięki. – user4500

+0

@ user4500, Cieszę się, że pomógł komuś. –

+0

nie działa w moim projekcie –

0

Bardziej szczegółowe użycie kompilacji "com.google.android.gms: play-services-location: 11.0.1" zamiast kompilowania "com.google.android.gms: play-services: 11.0.1" zapisało moje również projekt, tks wielu facetów.

Powiązane problemy