Split lib_main è stato definito più volte


102

Split lib_main è stato definito più volte

In "com.android.tools.build:gradle:2.0.0-alpha3" costruire il successo, ma gli errori che si verificano in "com.android.tools.build:gradle:2.0.0-alpha5".

errore della console


finalmente lavoro di corsa istantanea !! com.android.tools.build:gradle:2.0.0-alpha8 e gradle.properties "org.gradle.jvmargs = -Xmx8g" è stato risolto per cambiare.


Avendo esattamente lo stesso problema. Stai usando i gusti dei prodotti e applicationIdSuffix per caso?
Michael De Soto

Sfortunatamente, non utilizzare "gusti di prodotto" e "applicationIdSuffix". ma utilizzando "MultiDex".
shinhyo

6
stesso errore qui, la disabilitazione dell'esecuzione istantanea aiuta. Succede solo per i dispositivi che eseguono Android 6. Android Studio 2.0 5 Utilizzo di applicationIdSuffix, MultiDex, Non utilizzando la versione del prodotto
Happy Dev

1
@Happydev Risolto disabilitando instantrun!
shinhyo

1
@bkurzius non sembra una soluzione per me, l'intero punto di aggiornamento è stato eseguito istantaneamente. Speravo che qualcuno trovasse qualcosa come rimuovere qualche libreria o plugin ... perché la corsa istantanea funziona alla grande su Marshmallow su un altro progetto.
Happy Dev

Risposte:


103

Per coloro che si chiedono cosa sia InstantRun (prima impostazione nella foto): inserisci qui la descrizione dell'immagine

E sì, disabilitare tale impostazione risolve il problema.

Modifica 19/01/16

"com.android.tools.build:gradle:2.0.0-alpha6" è stato rilasciato tre giorni fa. Utilizzando la nuova versione, l'errore "Split lib_main è stato definito più volte" è scomparso e l'installazione dell'app riesce ma ora ricevo un errore di runtime:

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

La disattivazione dell'esecuzione istantanea elimina tale errore. Aspettiamo com.android.tools.build:gradle:2.0.0-alpha7 ...

Modifica 25/01/16

"com.android.tools.build:gradle:2.0.0-alpha7" è stato rilasciato due giorni fa.

Ottenere la stessa eccezione di 2.0.0-alpha6


2
beh, immagino che questo tipo abbia sconfitto l'intero punto del mio aggiornamento questa mattina: - /
bkurzius

2
Mi sembra di passare sempre più tempo a combattere il sistema di compilazione. È come se lo sviluppo di Android diventasse sempre più orientato alla build / distribuzione e meno al codice ... Peccato davvero perché mi piace la flessibilità del sistema di build Gradle.
Emanuel Moecklin

1
beh, se riescono a completare la corsa istantanea, ne varrebbe la pena, ma finora la mia esperienza non è stata buona :-(
bkurzius

Anche in altre app che girano con esecuzione istantanea ho dovuto spegnerlo. Ci sono troppi casi in cui l'esecuzione istantanea non funziona. Ancora alfa immagino ...
Emanuel Moecklin

Grazie .. Stavo ricevendo questo sulla versione stabile 2.3.1
shadygoneinsane

161

Basta eliminare la build cartella del appmodulo e ricostruire il progetto!

Questo risolverà il problema !.


2
Grande! Questo dovrebbe essere contrassegnato come la soluzione corretta. Grazie
Hernan Arber

1
Lavorato! Ricostruire e riavviare AVD non ha aiutato!
MatejC

1
Non dovrebbe "invalidare le cache e riavviare" anche invalidare la build? Perché chiaramente non funziona su questo caso
GabrielOshiro

La disabilitazione non è il modo preferito. Non è necessario eliminare la cartella "build". Basta Rigenerare il progetto.
Vaibhav

48

Mi sono imbattuto in questo problema dopo il refactoring e la modifica del nome dell'app in gradle. Seguendo l'esempio di AskQ, ho ricostruito il progetto (seguendo un percorso leggermente diverso):

Build-> Clean Project

seguito da

Build-> Rebuild Project

Risolto il problema


11

Recupero:

L'eliminazione della cartella (projectFolder) / app / build e la ricostruzione ha funzionato per me. (come risposto da @AskQ)

Mi chiedo se anche Build> Clean Project avrebbe funzionato; dai menu della GUI di Android Studio.

Evitare:

Nel mio caso il problema sembra essersi verificato perché avevo copiato e incollato un progetto, quindi 2 progetti avevano lo stesso nome.
Ci sono anche altre cause, imparare cosa sono può aiutare gli utenti a evitare questa preoccupazione.


Ho avuto lo stesso errore e dopo Clean Projekt l'app ha funzionato di nuovo
Franzi

Una pulizia / ricostruzione completa ha funzionato anche per me. Riavviato il dispositivo collegato in mezzo per buona misura.
Majestic12


2

Android studio 2.3.3 Ha funzionato per me dopo aver disabilitato l'esecuzione istantanea nelle impostazioni ...

Vai su Impostazioni -> Build, Execution and Development -> Instant Run -> Deseleziona Abilita Instant Run per hotswap, quindi pulisci il progetto e ricostruisci di nuovo il tuo progetto !!


Anche la disabilitazione dell'esecuzione immediata nelle impostazioni ha funzionato per me.
Michael Nwanna,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.