Je veux ajouter des services de localisation fusionnés mais cela me montre une erreur. Aidez moi.
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
la source
la source
MyApplication extends android.support.multidex.MultiDexApplication
?J'ai résolu mon problème avec la solution ci-dessous:
Dans le fichier de génération Gradle, ajoutez la dépendance:
Et puis dans la section "defaultConfig", ajoutez:
la source
modifier votre application ou module
build.gradle
Selon la documentation officielle
https://developer.android.com/studio/build/multidex
la source
Que sont les fichiers dex: les fichiers d' application Android (APK) contiennent des fichiers de bytecode exécutables sous forme de fichiers exécutables Dalvik (DEX), qui contiennent le code compilé utilisé pour exécuter votre application.
Raison de cette exception: la spécification DEX limite le nombre total de méthodes pouvant être référencées dans un seul fichier DEX à 65 536 (limite de référence de 64 Ko), y compris les méthodes de framework Android, les méthodes de bibliothèque et les méthodes de votre propre code.
Étape 01. Ajoutez la dépendance suivante comme suit
Pour les utilisateurs non Androidx,
Pour les utilisateurs d'Androidx,
Étape 02:
Après avoir ajouté ces projets de synchronisation et avant d'exécuter le projet, assurez-vous de créer un projet avant l'exécution. sinon, vous obtiendrez une exception.
la source
Vous pouvez suivre ceci .
Les versions de la plateforme antérieures à Android 5.0 (API niveau 21) utilisent le runtime Dalvik pour exécuter le code de l'application. Par défaut, Dalvik limite les applications à un seul fichier de bytecode classes.dex par APK. Afin de contourner cette limitation, vous pouvez ajouter la bibliothèque de support multidex à votre projet:
Si votre minSdkVersion est défini sur 21 ou supérieur, tout ce que vous devez faire est de définir multiDexEnabled sur true dans votre fichier build.gradle au niveau du module, comme indiqué ici:
la source
lorsque vous utilisez des dépendances, vos méthodes ont donc augmenté! Google a une solution pour cela. qui a appelé Multidex!
REMARQUE: assurez-vous que le SDK minimum est supérieur à 14.
dans votre build.gradle:
POUR UTILISATION androidX:
Pour plus d'informations, veuillez consulter le lien d'origine:
https://developer.android.com/studio/build/multidex
la source
Salut, le problème est ici, supprimez-le
Pourquoi?
Remarque: N'utilisez pas l'objectif de services de jeux combinés. Il apporte des dizaines de bibliothèques, gonflant votre application. À la place, spécifiez uniquement les API de services Google Play spécifiques que votre application utilise.
Et utilisez ce dont vous avez besoin. https://developers.google.com/android/guides/setup
Comme pour le service de localisation
Pour la messagerie cloud
la source
Si vous construisez DEBUG APK , ajoutez simplement:
à l'intérieur
buildTypes
et si vous construisez RELEASE APK , ajoutez un
multiDexEnabled true
bloc de versionla source
Pour les projets Flutter, vous pouvez également résoudre ce problème
ouvrez votre \ android \ app \ build.gradle
vous devriez avoir les éléments suivants:
Si votre minSdkVersion est défini sur 21 ou supérieur, tout ce que vous devez faire est de définir multiDexEnabled sur true dans le defaultConfig. Comme ça
si votre minSdkVersion est défini sur 20 ou moins, ajoutez multiDexEnabled true à defaultConfig
Et définir l'implémentation
À la fin, vous devriez avoir:
Pour plus d'informations, lisez ceci: https://developer.android.com/studio/build/multidex
la source
Procédez simplement comme suit:
Et ajoutez la dépendance ci-dessous dans votre
build.gradle
fichier de niveau d'applicationla source
Veuillez essayer d'ajouter ceci dans votre application defaultConfig {}. Cela m'aide à résoudre le problème
la source
Dans le fichier de génération Gradle, ajoutez la dépendance:
ou
ou
Et puis dans la section "defaultConfig", ajoutez:
Sous targetSdkVersion
Maintenant, si vous rencontrez cette erreur
Erreur: échec de la résolution: fichier ouvert multi-instrumentation
Vous devez changer votre gradle en 3.0.1
Et mettez le code suivant dans le fichier gradle-wrapper.properties
distributionUrl = https: //services.gradle.org/distributions/gradle-4.1-all.zip
finalement
ajouter la classe Applition dans le projet et l'introduire dans le AndroidManifest qui s'étend de MultiDexApplication
}
Exécutez d'abord le projet pour créer une erreur, puis nettoyez le projet
Enfin, relancez le projet et profitez-en
la source
Si vous utilisez minifyEnabled avec Proguard, vous n'aurez probablement pas besoin d'activer le multi-dex. Je suis d'accord avec MG Developer que vous devriez essayer d'éviter le multi-dex si possible. Ma solution était d'activer le multi-dex uniquement pour les versions de débogage. minifyEnabled résout le problème des versions de version
la source
Je ne sais pas pourquoi, c'est peut-être parce que je développe dans Kotlin mais pour corriger cette erreur, je dois enfin créer une classe qui s'étend
MultiDexApplication
comme ceci:et dans mon
Manifest.xml
je dois mettrepour ne confondre personne, je fais aussi:
pour androidx, cela fonctionne aussi pour moi:
...
<application android:name="android.support.multidex.MultiDexApplication">
ne fonctionne pas pour moi
la source
Vous avez trop de méthodes. Le fichier Android dex a une limite de 65536 méthodes que vous êtes autorisé à avoir.
Pour commencer, si vous n'avez pas besoin de toutes les API des services Google Play et seulement de l'emplacement, remplacez
avec
Vous pouvez vous référer à cette page pour savoir comment l'éviter ou si nécessaire pour en autoriser davantage: https://developer.android.com/studio/build/multidex.html
la source
Tout ce que j'avais à faire était de définir la version minimale du SDK sur 21 dans Fichier> Structure du projet> Application> Saveurs
la source
ajoutez votre fichier android / app / build.gradle
la source
J'ai rencontré cette erreur deux fois et la solution est; Vérifiez votre fichier de notes d'application pour voir votre SDk cible, s'il est supérieur ou égal à 20, ajoutez simplement une ligne à votre
defaultconfig { multiDexEnabled true }
Sinon, si votre targetSDK est inférieur à 20, ajoutez la ligne à votre defaultConfig et ajoutez également une dépendance
Consultez ce lien pour en savoir plus.
https://developer.android.com/studio/build/multidex#mdex-gradle
la source
L'utilisation du support multidex devrait être le dernier recours. Par défaut, Gradle Build collectera une tonne de dépendances transitives pour votre APK. Tel que recommandé dans Google Developers Docs , essayez d'abord de supprimer les dépendances inutiles de votre projet.
À l'aide de la ligne de commande, accédez à la racine des projets Android. Vous pouvez obtenir l'arbre de dépendance de compilation comme suit.
Vous pouvez obtenir la liste complète de l'arborescence des dépendances
Supprimez ensuite les dépendances inutiles ou transitives de votre application build.gradle. Par exemple, si votre application utilise une dépendance appelée «com.google.api-client», vous pouvez exclure les bibliothèques / modules dont vous n'avez pas besoin.
Ensuite, dans Android Studio Sélectionnez Build> Analyze APK ... Sélectionnez le fichier APK de libération / débogage pour voir le contenu. Cela vous donnera les méthodes et les références qui comptent comme suit.
la source
Dans la version: app
la source
la source
L'erreur est due au nombre de dépendances de classe que vous avez dans votre fichier Gradle d'application. Si les classes dépassent 72 400, vous souhaiterez peut-être utiliser multidex comme solution pour mieux gérer l'indexation des fichiers. Pour en savoir plus à partir d'ici: https://developer.android.com/studio/build/multidex
la source