To bardzo stare pytanie, ale wciąż się często zdarza i nie ma tutaj naprawdę wyczerpującej odpowiedzi.
Miałem ten problem więcej razy, niż chcę przyznać. Może to być spowodowane różnorodnymi problemami, które w większości dotyczą struktury projektu niepasującej do oczekiwanych. Oto lista wszystkich problemów, które miałem:
Importowanie z Eclipse do Android Studio nie zawsze działa płynnie, szczególnie w przypadku starszych wersji Android Studio. Upewnij się, że używasz właściwego drzewa katalogów. Powinno to wyglądać tak dla umiarkowanie dojrzałej aplikacji:
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
To może nie wyglądać tak w twoim IDE. Nad drzewem plików znajduje się menu rozwijane, które wyświetla pliki na różne sposoby, a domyślnie w moim systemie jest to Android, który dzieli pliki na różne typy. Łatwiej jest rozwiązać ten problem z projektu Project, a jeszcze łatwiej bezpośrednio z systemu plików twojego systemu operacyjnego, ponieważ Android Studio zrzuca foldery zawierające tylko inny folder do jednej linii.
Zwłaszcza jeśli kiedykolwiek zmienisz nazwę swojej aplikacji, musisz upewnić się, że drzewo źródłowe main / java / com / domain / AppName jest zaktualizowane. Upewnij się także, że tag pakietu w pliku AndroidManifest.xml jest poprawny.
Jeśli występują błędy w plikach Gradle lub AndroidManifest.xml, uniemożliwi to Android Studio prawidłowe tworzenie plików zasobów. Pliki Gradle mogą być czasami przerywane przez aktualizację Android Studio, szczególnie z wersji wcześniejszych niż 1.0. Czasami dzieje się tak, ponieważ przestaje on obsługiwać starsze wersje wtyczki Gradle, dlatego musisz zaktualizować numery wersji. Czasami może być trudno znaleźć aktualne wersje. Na dzień 17.07.2015 moje aplikacje działają dobrze com.android.tools.build:gradle:1.2.3
. Znajduje się to w bloku zależności w zewnętrznym pliku ocen,
Jeśli Twój AndroidManifest odwołuje się do nieistniejącego zasobu lub działania ciągliwego lub ciągowego, zepsuje się i spowoduje ten błąd. Czasami, jeśli coś odwołuje się do nieistniejącego zasobu ciągnienia lub ciągów, pojawi się ten błąd.
Jeśli masz plik w zasobach, który jest uszkodzony lub nieprawidłowy plik xml, pojawi się ten błąd.
Z mojego doświadczenia wynika, że czasami Android Studio czknie bez powodu i musisz go ponownie uruchomić i / lub komputer. Nie wiem dlaczego, ale czasem to działa.
Jeśli masz dwa zasoby xml o tej samej nazwie, w katalogach, które się nie zastępują, możesz mieć ten problem. Na przykład możesz mieć tę samą nazwę w Drawable-mhdpi i Drawable-xhdpi, ponieważ zastępują się one w zależności od urządzenia docelowego, ale jeśli masz tę samą nazwę w układzie i menu, spowoduje to problem. Zmień nazwę lub usuń jeden z plików.
Jeśli tylko niektóre zasoby mają ten problem, najprawdopodobniej są one w niewłaściwym katalogu.
W jednym przypadku musiałem całkowicie ponownie zainstalować Android Studio. Nie wiem, co było nie tak, ale zadziałało.
W jednym przypadku przeniosłem cały projekt do innego katalogu i ponownie zaimportowałem go jako nowy projekt. Nie wiem, co było nie tak, ale zadziałało.
Pliki XML ze słowami zastrzeżonymi dla nazw mogą powodować ten problem. Zmień ich nazwę lub usuń.
Plik Gradle może odwoływać się do wersji narzędzi do budowania, które nie zostały zainstalowane, na kilka sposobów. Popraw to, zmieniając Gradle lub pobierając odpowiednie narzędzia do budowania.
Wreszcie, po naprawieniu tego, co jest nie tak, musisz wyczyścić projekt Gradle. Aby to zrobić, przejdź do menu Kompilacja u góry i wybierz opcję Wyczyść projekt.