tools - install gradle android studio
Error de Dex en Android Studio 3.0 Beta4 (16)
Así que resolví este problema haciendo lo siguiente:
-
Elimine la carpeta
./gradle
dentro de su proyecto - Elimine todas las carpetas de compilación y el caché de gradle . Ejecuté el siguiente comando:
Cómo ?
cd ~/[your project root folder] && find . -name build -exec rm -rf {} /; && rm -rf $HOME/.gradle/caches/
Asumiendo que sus
archivos de configuración de Gradle
están en la carpeta
$HOME/.gradle
.
-
Dentro de Android Studio, fue a
File > Invalidate caches / Restart...
e invalidó los cachés y lo reinició.
Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/integration/android/IntentResult;
Cambiar "compilar" a "compilar solo" esto es lo que funcionó para mí.
Debería poder llegar a la causa de este error inspeccionando sus dependencias con gradle y buscando duplicados como este:
./gradlew -q app:dependencies
En mi caso, el siguiente error estaba ocurriendo en el momento de la compilación:
Duplicate zip entry [httpcore-4.4.1.jar
y se resolvió haciendo esto en mi
build.gradle
:
implementation (''me.dlkanth:stetho-volley:1.0'') {
exclude group: ''org.apache.httpcomponents''
}
En algún momento puede suceder debido a la misma biblioteca (archivo jar) presente dos veces o su proyecto ha alcanzado el límite de 64k métodos.
Solución: 1) Elimine Databinding si su proyecto usa esto 2) Elimine la misma biblioteca de tipos de la carpeta lib o elimine el archivo .gradle de c // user // your_pc //. Gradle 3) aplique esto en su build.gradle
android {
defaultConfig {
multiDexEnabled true
}
}
En mi caso, el culpable fue SendGrid lib, agregó esto y se solucionó:
compile ''com.github.danysantiago:sendgrid-android:1'',{
exclude group: ''org.apache.httpcomponents'', module: ''httpclient''
}
Enfrenté el mismo problema en Android Studio 3.0.1, probé todos los casos posibles, nada funcionó para mí como se mencionó anteriormente, finalmente lo resolví
Solución1:
- Cerrar Android Studio
-
Eliminar la carpeta
.gradle
ubicada enC:/Users/YourComputerName/.gradle
no de la aplicación.gradle
- Reiniciar android studio
Descargará todos los frascos necesarios y los agregará a su ruta de compilación
Solución2:
- Eliminar el jar duplicado de la carpeta libs en app / libs
- Vuelva a ejecutar la aplicación nuevamente
Porque si hay un archivo jar duplicado que ya está definido en el archivo
build.gradle
, causa un problema.
Esto resolvió el problema para mí. Puede ayudar a otros.
Este error puede tener múltiples razones. No limpiar y reconstruir ni nada de eso hizo el trabajo por mí.
Para mí el problema era la dependencia:
compile ''org.jetbrains:annotations-java5:15.0''
Lo quité y todo funcionó bien.
Estoy usando Android Studio 3.0.1 Build # AI-171.4443003, construido el 9 de noviembre de 2017
Elimino el archivo jar de la carpeta libs. Y eso funciona bien para mi
Estoy usando Android Studio 3.0.1 y estaba enfrentando el mismo problema. Si la respuesta de otros no funciona, intente esto:
Herramientas -> Android -> Proyecto de sincronización con archivos Gradle
Funcionó para mí Sync Project con Gradle Files
Estoy usando la versión Studio 3.0.0. En mi caso, la única solución: he eliminado los archivos JAR antiguos de la carpeta "libs" en mi proyecto: era el paquete "ksoap2" con dependencias. Los paquetes obtenidos con gradle generalmente no entran en conflicto entre sí, al menos si está utilizando los más populares. Pero un JAR antiguo en la carpeta libs puede aplastar su compilación si incluye todas las dependencias propias.
He intentado otros comentarios al eliminar gradle y bla bla bla, pero agregando
multiDexEnabled true
resolver mi problema, investigo que mi apk ha alcanzado el Método de más de 64K.
Para Android Studio 3.0, lo que hice fue agregar esto a mi gradle:
multiDexEnabled true
¡Y funcionó!
Ejemplo
android {
compileSdkVersion 25
buildToolsVersion ''26.0.2''
defaultConfig {
applicationId "com.xx.xxx"
minSdkVersion 15
targetSdkVersion 24
versionCode 9
versionName "1.0"
multiDexEnabled true //Add this
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile(''proguard-android-optimize.txt''), ''proguard-rules.pro''
}
}
}
Resolvió esto eliminando la biblioteca de enlace de datos de Android:
dataBinding {
enabled = true
}
Verifique sus dependencias para la última versión, generalmente es una inconsistencia con la versión de cualquiera de sus dependencias.
1.Build> Clean Project 2. Reconstruye tu proyecto
Verifique el registro detallado de la dependencia que causa el problema de fusión y actualice la misma. Repita lo mismo para cada dependencia.
Si su minSdkVersion es 21 o superior
android {
defaultConfig {
multiDexEnabled true
}
}
si su minSdkVersion es 20 o inferior
1) debe agregar la siguiente biblioteca en dependencias
dependencies {
compile ''com.android.support:multidex:1.0.1''
}
2) Cree una clase java, luego extiéndala desde la aplicación y anule el método attachBaseContext.
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
3) Mencione la clase creada dentro del manifiesto en la etiqueta de la aplicación.
<application
android:name=".MyApplication"
.
.
.
</application>