Przed przeczytaniem poniższego rozwiązania przeczytaj moją aktualizację od 01.04.2020, problem jest głębszy i jest w twoim kodzie.
Mam ten sam problem po aktualizacji 3.6.
* Szybkie rozwiązanie to: *
- usuń folder projektu \ kompilacja
- usuń folder projektu \ debuguj *
- usuń folder projektu \ wydanie *
- Usuń folder projektu \ aplikacja \ kompilacja
- Usuń folder projektu \ aplikacja \ kompilacja \ debugowanie *
- usuń folder projektu \ aplikacja \ kompilacja \ wydanie *
Musisz więc usunąć wszystkie katalogi kompilacji, debugowania i wydania.
Pamiętaj, że możesz nie być w stanie usunąć całego katalogu debugowania i wydania , ale możesz usunąć całą jego zawartość.
UPD:
Myślę, że naprawili dzisiaj ten błąd:
UPD 03.03.2020:
Niestety, błąd nie został naprawiony.
UPD 01.04.2020:
(Nie żart z 1 kwietnia :))
Od miesiąca pracowałem z programistami Android Studio i dzisiaj powiedziano mi, żebym używał jdk zamiast jre, ponieważ powiedział jeden z głębokich błędów w logach.
Po ustawieniu jdk ( Plik-> Struktura projektu-> Lokalizacja SDK-> Lokalizacja JDK ) zamiast jre, mam kilka innych błędów, które nie zostały pokazane w „kompilacji danych wyjściowych”, więc uruchamiam Analizuj -> Sprawdź kod i dostałem osiemnaście błędów takie jak odwoływanie się do niewłaściwego identyfikatora widoku w układach, błędy orientacji (witaj w tools:ignore="MissingDefaultResource"
) i błędy manifestu również w orientacji: czytam, że jest to nowa aktualizacja 3.6.1 - o krajobrazie lub portrecie screenOrientation
, szybko naprawiona przez Studio z tym:
<activity
tools:ignore="LockedOrientationActivity" />
Kiedy wszystkie błędy zostały naprawione za pomocą funkcji Analizuj -> Sprawdź kod, pomyślnie wygenerowałem podpisany plik APK za pomocą jdk, a następnie za pomocą jre (tylko do testu).
Podsumowując, ten błąd spowodował głębokie błędy, które można znaleźć tylko za pomocą Inspect Code
narzędzia.
Myślę, że AS nie pomyśli, że to błąd, myślę, że powiedzieli, że jest to nowa funkcja ulepszania twojego kodu. Myślę też, że powinieneś spróbować sprawdzić swój kod nawet bez ustawiania jdk zamiast jre.
Dodatkowe rekomendacje od wsparcia AS:
BTW podczas eksportowania release
kompilacji, uruchamiamy również, lintVital
który wykonuje dodatkowe kontrole i niektóre błędy są oznaczone jako fatal
. Ta kontrola jest droga, więc nie występuje w debug
kompilacjach
projectFolder\app\[all flavor folders]
.Build > Rebuild Project
naprawiłem to dla mnie w Android Studio 3.6.2.Podczas generowania apka sprawdź folder docelowy, z którego usuń plik output.json i app-debug.apk z folderu debugowania. Spróbuj zbudować to samo po tym. AFAIK, jest to błąd dla studia Android, mam nadzieję, że mogą to naprawić wkrótce :)
źródło
Usunąłem poprzednie wyniki kompilacji dla wariantu kompilacji, w tym plik APK. To mi pomogło
źródło
build
katalog jako całość, nadal mam ten sam problem. Czy potrafisz w pełni rozwinąć to, co zrobiłeś?Dzieje się tak, gdy korzystasz z automatycznego przeglądania, wiązania za pomocą Kotlin lub funkcji viewBinding 3.6.
W przypadku dodawania plików, których element ma ten sam identyfikator, ViewBinding myli i tworzy taki błąd.
Pozwól, że ci pomogę przez przykładową klasę adaptera, która ma dwa pliki układu oddzielone według widoku Typ:
// które w przypadku pomylenia pełnego zasobu lub układu spełniają wymaganie bcoz oba mają takie same identyfikatory przycisków. na wypadek, gdybyś musiał użyć:
które umożliwiają starą implementację.
Daj mi znać, jeśli to działa po twojej stronie?
źródło
Miałem ten sam błąd po aktualizacji Androida Studio i rozwiązałem problem, czyszcząc tylko projekt (Kompilacja> Wyczyść projekt)! :)
źródło