Podział lib_main został zdefiniowany wiele razy

102

Podział lib_main został zdefiniowany wiele razy

W „com.android.tools.build:gradle:2.0.0-alpha3” powodzenie kompilacji, ale błędy występujące w pliku „com.android.tools.build:gradle:2.0.0-alpha5”.

błąd konsoli


wreszcie natychmiastowa praca! com.android.tools.build:gradle:2.0.0-alpha8 i gradle.properties „org.gradle.jvmargs = -Xmx8g” zostały rozwiązane w celu zmiany.

shinhyo
źródło
Mając dokładnie ten sam problem. Czy przez przypadek używasz smaków produktów i applicationIdSuffix?
Michael De Soto
Niestety, nie używaj "smaków produktu" i "applicationIdSuffix". ale używając „MultiDex”.
shinhyo
6
ten sam błąd tutaj, wyłączenie natychmiastowego uruchamiania pomaga. Dzieje się tylko na urządzeniach z systemem Android 6. Android Studio 2.0 5 Korzystanie z applicationIdSuffix, MultiDex, bez smaku produktu
Happy Dev
1
@Happydev Rozwiązany przez wyłączenie funkcji instantrun!
shinhyo
1
@bkurzius nie wydaje mi się rozwiązaniem, cały punkt aktualizacji został uruchomiony błyskawicznie. Miałem nadzieję, że ktoś znajdzie coś takiego, jak usunąć jakąś bibliotekę lub wtyczkę ... ponieważ natychmiastowe uruchamianie działa świetnie na Marshmallow w innym projekcie.
Happy Dev

Odpowiedzi:

103

Dla tych, którzy zastanawiają się, czym jest InstantRun (pierwsze ustawienie na zdjęciu): wprowadź opis obrazu tutaj

I tak, wyłączenie tego ustawienia rozwiązuje problem.

Edytuj 19.01.16

„com.android.tools.build:gradle:2.0.0-alpha6” został wydany trzy dni temu. W tej nowej wersji błąd „Podziel lib_main został zdefiniowany wiele razy” zniknął i instalacja aplikacji się powiodła, ale teraz pojawia się błąd w czasie wykonywania:

java.lang.RuntimeException: Unable to instantiate application
com.android.tools.fd.runtime.BootstrapApplication:
java.lang.ClassNotFoundException: Didn't find class
"com.android.tools.fd.runtime.BootstrapApplication" on path:
DexPathList[[zip file "/data/app/com.onegravity.k10.pro2-2/base.apk",
zip file "/data/app/com.onegravity.k10.pro2-/split_lib_main.apk"]

Caused by: java.lang.ClassNotFoundException: Didn't find class
"com.android.tools.fd.runtime.BootstrapApplication" on path:
DexPathList[[zip file "/data/app/com.onegravity.k10.pro2-2/base.apk",
zip file "/data/app/com.onegravity.k10.pro2-2/split_lib_main.apk"]

Suppressed: java.io.IOException: No original dex files found for dex location
/data/app/com.onegravity.k10.pro2-2/base.apk

Suppressed: java.lang.ClassNotFoundException:
com.android.tools.fd.runtime.BootstrapApplication

Wyłączenie funkcji natychmiastowego uruchamiania eliminuje ten błąd. Poczekajmy na com.android.tools.build:gradle:2.0.0-alpha7 ...

Edytuj 25.01.16

„com.android.tools.build:gradle:2.0.0-alpha7” został wydany dwa dni temu.

Uzyskanie tego samego wyjątku co w wersji 2.0.0-alpha6

Emanuel Moecklin
źródło
2
cóż,
wydaje
2
Wydaje mi się, że spędzam coraz więcej czasu walcząc z systemem kompilacji. To tak, jakby rozwój Androida był coraz bardziej zorientowany na kompilację / wdrażanie i mniej kodowania ... Szkoda naprawdę, ponieważ podoba mi się elastyczność systemu kompilacji Gradle.
Emanuel Moecklin
1
cóż, jeśli potrafią zrobić błyskawiczny bieg, byłoby to warte bólu, ale dotychczas moje doświadczenia z nim nie były dobre :-(
bkurzius
Nawet w innych aplikacjach, które działają z natychmiastowym uruchomieniem, musiałem go wyłączyć. Jest zbyt wiele przypadków, w których natychmiastowe uruchamianie po prostu nie działa.
Wydaje
Dzięki ... Dostałem to na stabilnej wersji 2.3.1
shadygoneinsane
161

Wystarczy usuwania build folderu z appmodułem i Odbuduj projekt!

To rozwiąże problem !.

AskQ
źródło
2
Wspaniały! Powinno to być oznaczone jako prawidłowe rozwiązanie. Dzięki
Hernan Arber
1
Pracowałem! Po prostu przebudowa i ponowne uruchomienie AVD nie pomogło!
MatejC
1
Czy „unieważnienie pamięci podręcznych i ponowne uruchomienie” nie powinno również unieważnić kompilacji? Ponieważ najwyraźniej to nie działa w tej sprawie
GabrielOshiro
Wyłączanie nie jest preferowanym sposobem. Nie ma potrzeby usuwania folderu „build”. Po prostu odbuduj projekt.
Vaibhav
48

Napotkałem ten problem po refaktoryzacji i zmianie nazwy aplikacji w gradle. Idąc za przykładem AskQ, przebudowałem projekt (podążając nieco inną ścieżką):

Build-> Clean Project

śledzony przez

Build-> Rebuild Project

Rozwiązany problem

tony gil
źródło
11

Poprawa:

Usuwanie (projectFolder) / app / build i ponowne zadziałało. (zgodnie z odpowiedzią @AskQ)

Zastanawiam się, czy Build> Clean Project by działał; z menu GUI Android Studio.

Unikanie:

W moim przypadku wydaje się, że problem wystąpił, ponieważ skopiowałem wklejony projekt, więc 2 projekty miały tę samą nazwę.
Istnieją również inne przyczyny, których poznanie może pomóc użytkownikom uniknąć tego problemu.

Brian Davis
źródło
Miałem ten sam błąd i po Clean Projekt aplikacja znów działała
Franzi
Pełne czyszczenie / przebudowa również zadziałało. Zrestartowałem podłączone urządzenie pomiędzy dla dobrego pomiaru.
Majestic12
3

Może się tak zdarzyć, ponieważ nazwa twojego pakietu jest zapisana wielkimi literami, więc musisz zmienić ją z powrotem na małe litery.

Raja Nurfarahin Farhanah
źródło
2

Android studio 2.3.3 U mnie zadziałało po wyłączeniu natychmiastowego uruchamiania w ustawieniach ...

Idź do Ustawienia -> Kompilacja, wykonanie i rozwój -> Natychmiastowe uruchamianie -> Odznacz opcję Włącz natychmiastowe uruchamianie do hotswap, następnie wyczyść projekt i ponownie zbuduj projekt !!

Suhas
źródło
Wyłączenie natychmiastowego uruchamiania w ustawieniach również działało dla mnie.
Michael Nwanna,