Próbuję zbudować mój pierwszy projekt za pomocą Gradle i myślę, że moje pliki i ustawienia Gradle są poprawne.
Używam tylko jednego modułu i obsługuję biblioteki V4 + AppCompatBar.
Projekt - build.gradle
allprojects {
repositories {
mavenCentral()
}
}
Projekt - settings.gradle
include ':AssignmentTempos21'
Moduł główny - build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 17
}
}
dependencies {
compile "com.android.support:support-v4:18.0.+"
compile "com.android.support:appcompat-v7:18.0.+"
}
Wyjście konsoli z flagą -i:
MacBook-Air-de-Cesar-2:AssignmentTempos21 menor$ ./gradlew -i clean assemble
Starting Build
Settings evaluated using settings file '/Users/menor/workspace_android/AssignmentTempos21/settings.gradle'.
Projects loaded. Root project using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Included projects: [root project 'AssignmentTempos21', project ':AssignmentTempos21']
Evaluating root project 'AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptTransformer.
Evaluating project ':AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/AssignmentTempos21/build.gradle'.
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':AssignmentTempos21'.
> Failed to notify project evaluation listener.
> Could not resolve all dependencies for configuration ':AssignmentTempos21:_DebugCompile'.
> Could not find any version that matches com.android.support:support-v4:18.0.+.
Required by:
AssignmentTempos21:AssignmentTempos21:unspecified
> Could not find any version that matches com.android.support:appcompat-v7:18.0.+.
Required by:
AssignmentTempos21:AssignmentTempos21:unspecified
* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.
BUILD FAILED
Total time: 40.787 secs
Odpowiedzi:
Jak mówi Peter, nie będzie ich w Maven Central
z Menedżera SDK systemu Android pobierz „Repozytorium pomocy technicznej systemu Android”, a repozytorium bibliotek wsparcia Maven zostanie pobrane do katalogu Android SDK (zobacz folder „dodatki”)
aby wdrożyć biblioteki w lokalnym repozytorium .m2, możesz użyć maven-android-sdk-deployer
Edycja 2017:
możesz teraz odwołać się do internetowego repozytorium Google M2
repositories { google() jcenter() }
źródło
maven-android-sdk-deployer
, drugie co?Idź do miejsca, w którym zainstalowałeś Android Studio (dla mnie jest pod
C:\Users\username\AppData\Local\Android\android-studio\
) i otwórzsdk\tools
, a następnie uruchomandroid.bat
. Stąd zaktualizuj i pobierz brakujące narzędzia do kompilacji i upewnij się, że zaktualizowałeś repozytorium pomocy technicznej Androida i bibliotekę obsługi Androida w sekcji Dodatki. Uruchom ponownie Android Studio po zakończeniu działania Menedżera SDK.Wygląda na to, że Android Studio całkowicie ignoruje wszelkie zainstalowane pliki Android SDK i zachowuje własną kopię. Po uruchomieniu aktualizacji wszystko skompilowało się pomyślnie za pomocą kompilacji
com.android.support:appcompat-v7:18.0.+
źródło
Jeśli korzystasz z bezgłowego CI i instalujesz Android SDK za pomocą wiersza poleceń, pamiętaj o dołączeniu pakietów m2repository w
--filter
argumencie:android update sdk --no-ui --filter platform-tools,build-tools-19.0.1,android-19,extra-android-support,extra-android-m2repository,extra-google-m2repository
Aktualizacja
Od wersji Android SDK Manager 22.6.4 to już nie działa. Spróbuj tego zamiast tego:
android list sdk --all
Otrzymasz listę wszystkich dostępnych pakietów SDK. Sprawdź wartości liczbowe składników z pierwszego polecenia powyżej („Repozytorium Google” i inne, których może brakować).
Zainstaluj pakiety, używając ich wartości liczbowych:
android update sdk --no-ui --all --filter <num>
Aktualizacja nr 2 (wrzesień 2017)
Wraz z „nowymi” narzędziami Android SDK, które zostały wydane na początku tego roku,
android
polecenie zostało wycofane, a podobne funkcje zostały przeniesione do nowego narzędzia o nazwiesdkmanager
:Lista zainstalowanych komponentów:
sdkmanager --list
Zaktualizuj zainstalowane komponenty:
sdkmanager --update
Zainstaluj nowy komponent (np. Wersję narzędzi do budowania
26.0.0
):sdkmanager 'build-tools;26.0.0'
źródło
Error: Ignoring unknown package filter 'platform-tools'
także dla'android-19'
i'extra-android-support'
. Twoje zdrowie!android list sdk --all |grep -i repos
daje mi"98-Android Support Repository, revision 6"
i"106-Google Repository, revision 11"
. Następnie zainstalowałem oba działające pakiety,android update sdk -u -a -t 98,106
co ostatecznie rozwiązało problem (używam adt-bundle-linux-x86-20140702.zip, nie wiem, która to wersja Menedżera SDK).Te zależności nie istnieją w Maven Central ( zobacz to ).
źródło
zmień wersję kompilacji z 18 na 17
compile "com.android.support:support-v4:17.0.+" compile "com.android.support:appcompat-v7:17.0.+"
źródło
Oprócz odpowiedzi Kassima:
Musiałem również zaktualizować „Lokalne repozytorium Maven dla bibliotek wsparcia” w Android SDK Manager.
źródło
aby echo @friederbluemle, możesz również po prostu uruchomić menedżera SDK z wiersza poleceń, jeśli masz zainstalowane narzędzia Android SDK:
$ android
a następnie w wyskakującym interfejsie użytkownika wybierz narzędzia / repozytoria, które mają być zainstalowane - w twoim przypadku repozytorium bibliotek wsparcia
źródło
zapisz następującą instrukcję w pliku build.gradle aplikacji.
com.android.support:appcompat-v7:18.0.+
Otóż to
źródło
Spróbuj wyłączyć zaporę ,
it works for me
. Wydaje się, że android studio chce pobrać kilka zależności i nasze zapobiega zapory go z pobraniem gojust be aware that turning your firewall off may lower the security of your computer
. Jeśli masz więcej czasu, możesz ręcznie zezwolić swojemu studiu Android na ominięcie zapory, w ten sposób możesz włączyć zaporę, jednocześnie zezwalając Android Studio na pobranie wszystkiego, co zechce.źródło
Otrzymałem ten komunikat w Android Studio 2.1.1 na karcie Gradle Build. Zainstalowałem wiele plików z Menedżera SDK, ale to nie pomogło.
Musiałem kliknąć następną kartę „Gradle Sync”. Był tam link „Zainstaluj repozytorium i zsynchronizuj projekt”, który zainstalował „repozytorium pomocy dla Androida”.
źródło
źródło
Dodaj to do swojego gradle:
allprojects { buildscript { repositories { maven { url "https://dl.bintray.com/android/android-tools" } } } ... }
źródło