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.