Quiero agregar servicios de ubicación fusionados pero me muestra algún error. Ayuadame.
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "27.0.1"
defaultConfig {
applicationId "com.example.adil.bloodbankapplication"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:11.8.0'
compile 'com.google.firebase:firebase-database:11.8.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'junit:junit:4.12'
compile 'com.android.support:design:26.1.0'
compile 'com.github.joielechong:countrycodepicker:2.1.5'
compile 'com.jaredrummler:material-spinner:1.2.4'
compile 'hanks.xyz:htextview-library:0.1.5'
compile 'com.firebaseui:firebase-ui-database:1.2.0'
compile 'com.google.android.gms:play-services:11.8.0'
}
apply plugin: 'com.google.gms.google-services'
android
android-multidex
Muhammad Adil Sattar
fuente
fuente
MyApplication extends android.support.multidex.MultiDexApplication
?Solucioné mi problema con la solución a continuación:
En el archivo de compilación de Gradle, agregue dependencia:
Y luego, en la sección "defaultConfig", agregue:
fuente
modificar su aplicación o módulo
build.gradle
De acuerdo con la documentación oficial
https://developer.android.com/studio/build/multidex
fuente
Qué son los archivos dex: los archivos de la aplicación de Android (APK) contienen archivos ejecutables de bytecode en forma de archivos Dalvik Executable (DEX), que contienen el código compilado utilizado para ejecutar su aplicación.
Motivo de esta excepción: la especificación DEX limita el número total de métodos a los que se puede hacer referencia dentro de un solo archivo DEX a 65.536 (límite de referencia de 64K), incluidos los métodos de marco de Android, los métodos de biblioteca y los métodos en su propio código.
Paso 01. Agregue la siguiente dependencia de la siguiente manera
Para usuarios no Androidx,
Para usuarios de Androidx,
Paso 02:
Después de agregar esos proyectos de sincronización y antes de ejecutar el proyecto, asegúrese de crear un proyecto antes de la ejecución. de lo contrario, obtendrá una excepción.
fuente
Puedes seguir esto .
Las versiones de la plataforma anteriores a Android 5.0 (API nivel 21) usan el tiempo de ejecución Dalvik para ejecutar el código de la aplicación. De forma predeterminada, Dalvik limita las aplicaciones a un único archivo de código de bytes classes.dex por APK. Para evitar esta limitación, puede agregar la biblioteca de soporte multidex a su proyecto:
Si su minSdkVersion está configurado en 21 o superior, todo lo que necesita hacer es configurar multiDexEnabled en verdadero en su archivo build.gradle de nivel de módulo, como se muestra aquí:
fuente
cuando usas dependencias, ¡así tus métodos aumentaron! Google tiene una solución para eso. que se llama Multidex!
NOTA: asegúrese de que el SDK mínimo sea superior a 14.
en su build.gradle:
PARA USO DE AndroidX:
Para obtener más información, vaya al enlace original:
https://developer.android.com/studio/build/multidex
fuente
Hola problema está aquí eliminarlo
¿por qué?
Nota: No use el objetivo combinado de servicios de juego. Trae docenas de bibliotecas, hinchando su aplicación. En su lugar, especifique solo las API de servicios de Google Play específicas que utiliza su aplicación.
Y usa lo que necesitas. https://developers.google.com/android/guides/setup
Me gusta para el servicio de localización
Para mensajería en la nube
fuente
Si está creando DEBUG APK , simplemente agregue:
dentro
buildTypes
y si está compilando RELEASE APK , agregue el
multiDexEnabled true
bloque de lanzamiento como-fuente
Para proyectos de aleteo también puede resolver este problema
abra su \ android \ app \ build.gradle
deberías tener lo siguiente:
Si su minSdkVersion está configurado en 21 o superior, todo lo que necesita hacer es configurar multiDexEnabled en verdadero en la configuración predeterminada. Me gusta esto
si su minSdkVersion está configurado en 20 o menos, agregue multiDexEnabled verdadero a la configuración predeterminada
Y definir la implementación
Al final deberías tener:
Para obtener más información, lea esto: https://developer.android.com/studio/build/multidex
fuente
Solo haz lo siguiente:
Y agregue la dependencia a continuación en su
build.gradle
archivo de nivel de aplicaciónfuente
Intente agregar esto en la configuración predeterminada de su aplicación {}. Esto me ayuda a resolver el problema
fuente
En el archivo de compilación de Gradle, agregue dependencia:
o
o
Y luego, en la sección "defaultConfig", agregue:
Bajo targetSdkVersion
Ahora si encuentras este error
Error: Error al resolver: archivo abierto de instrumentación multidex
Necesitas cambiar tu gradle a 3.0.1
Y ponga el siguiente código en el archivo gradle-wrapper.properties
distributionUrl = https: //services.gradle.org/distributions/gradle-4.1-all.zip
Finalmente
agregue la aplicación de clase en el proyecto y preséntela en el AndroidManifest que se extiende desde MultiDexApplication
}
Ejecute el proyecto primero para crear un error, luego limpie el proyecto
Finalmente, relanza el proyecto y disfrútalo
fuente
Si está utilizando minifyEnabled con Proguard, es probable que no necesite habilitar multi-dex. Estoy de acuerdo con MG Developer en que debes intentar evitar multi-dex si es posible. Mi solución fue habilitar multi-dex solo para compilaciones de depuración. minifyEnabled resuelve el problema de las versiones de lanzamiento
fuente
No tengo idea de por qué, tal vez sea porque me desarrollo en Kotlin, pero para solucionar este error finalmente tengo que crear una clase que se extienda
MultiDexApplication
así:y en mi
Manifest.xml
tengo que configurarpara no confundir a nadie, yo también hago:
para androidx, esto también funciona para mí:
...
<application android:name="android.support.multidex.MultiDexApplication">
no funciona para mi
fuente
Tienes demasiados métodos para contar. El archivo dex de Android tiene un límite de 65536 métodos que puede tener.
Para empezar, si no necesita todos los servicios de Google Play API y solo la ubicación, reemplace
con
Puede consultar esta página para ver formas de evitarla o, si es necesario, permitir más: https://developer.android.com/studio/build/multidex.html
fuente
Todo lo que tenía que hacer era establecer la Versión mínima del SDK en 21 en Archivo> Estructura del proyecto> Aplicación> Sabores
fuente
agrega tu archivo android / app / build.gradle
fuente
He encontrado este error dos veces y la solución para esto es; Verifique el archivo gradle de su aplicación para ver su SDk de destino, si tiene 20 o más, simplemente agregue una línea a su
defaultconfig { multiDexEnabled true }
De lo contrario, si su targetSDK es inferior a 20, agregue la línea a su configuración predeterminada y también agregue una dependencia
Mira este enlace para más información.
https://developer.android.com/studio/build/multidex#mdex-gradle
fuente
El uso de soporte multidex debería ser el último recurso. De forma predeterminada, Gradle Build recopilará una tonelada de dependencias transitivas para su APK. Como se recomienda en Google Developers Docs , primero intente eliminar las dependencias innecesarias de su proyecto.
Usando la línea de comando, navegue a Android Projects Root. Puede obtener el árbol de dependencia de compilación de la siguiente manera.
Puedes obtener la lista completa del árbol de dependencias
Luego, elimine las dependencias innecesarias o transitivas de su aplicación build.gradle. Como ejemplo, si su aplicación usa una dependencia llamada 'com.google.api-client', puede excluir las bibliotecas / módulos que no necesita.
Luego, en Android Studio, seleccione Crear> Analizar APK ... Seleccione el archivo APK de liberación / depuración para ver el contenido. Esto le dará los métodos y referencias que se cuentan a continuación.
fuente
En construcción: aplicación
fuente
fuente
El error es causado por la cantidad de dependencias de clase que tiene en el archivo Gradle de su aplicación. Si las clases superan los 72.400, es posible que desee utilizar multidex como solución para manejar mejor la indexación de archivos. Obtenga más información desde aquí: https://developer.android.com/studio/build/multidex
fuente