Я хочу добавить слитные службы определения местоположения, но это показывает мне некоторую ошибку. Помоги мне.
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
Мухаммед Адиль Саттар
источник
источник
MyApplication extends android.support.multidex.MultiDexApplication
?Я исправил свою проблему с помощью решения ниже:
В файле сборки Gradle добавьте зависимость:
А затем в разделе «defaultConfig» добавьте:
источник
изменить ваше приложение или модуль
build.gradle
Согласно официальной документации
https://developer.android.com/studio/build/multidex
источник
Что такое файлы dex: файлы приложения Android (APK) содержат исполняемые файлы байт-кода в виде файлов Dalvik Executable (DEX), которые содержат скомпилированный код, используемый для запуска вашего приложения.
Причина этого исключения: спецификация DEX ограничивает общее количество методов, на которые можно ссылаться в одном файле DEX, до 65 536 (ограничение ссылки 64 КБ), включая методы платформы Android, библиотечные методы и методы в вашем собственном коде.
Шаг 01. Добавьте следующую зависимость следующим образом
Для пользователей не Androidx,
Для пользователей Androidx,
Шаг 02:
После добавления этих проектов Sync и перед запуском проекта убедитесь, что Построили проект перед запуском. в противном случае вы получите исключение.
источник
Вы можете следить за этим .
Версии платформы до Android 5.0 (уровень API 21) используют среду выполнения Dalvik для выполнения кода приложения. По умолчанию Dalvik ограничивает приложения одним файлом байт-кода classes.dex для каждого APK. Чтобы обойти это ограничение, вы можете добавить в ваш проект библиотеку поддержки multidex:
Если ваш minSdkVersion установлен на 21 или выше, все, что вам нужно сделать, это установить для multiDexEnabled значение true в файле build.gradle уровня модуля, как показано здесь:
источник
когда вы используете зависимости, чтобы ваши методы увеличились! У Google есть решение для этого. это называется Multidex!
ПРИМЕЧАНИЕ: убедитесь, что min SDK превышает 14.
в вашем build.gradle:
ДЛЯ ИСПОЛЬЗОВАНИЯ Android®:
Для получения дополнительной информации перейдите по оригинальной ссылке:
https://developer.android.com/studio/build/multidex
источник
Привет проблема здесь удалить его
Зачем?
Примечание: не используйте комбинированную цель play-services. Это приносит десятки библиотек, вздутие живота вашего приложения. Вместо этого укажите только определенные API-интерфейсы сервисов Google Play, которые использует ваше приложение.
И используйте то, что вам нужно. https://developers.google.com/android/guides/setup
Как для службы определения местоположения
Для облачных сообщений
источник
Если вы строите DEBUG APK , просто добавьте:
внутри
buildTypes
и если вы создаете RELEASE APK , добавьте
multiDexEnabled true
в блок релиза какисточник
Для флаттер-проектов вы также можете решить эту проблему
откройте свой \ android \ app \ build.gradle
у вас должно быть следующее:
Если ваш minSdkVersion установлен на 21 или выше, все, что вам нужно сделать, это установить для multiDexEnabled значение true в defaultConfig. Как это
если ваш minSdkVersion установлен в 20 или ниже, добавьте multiDexEnabled true в defaultConfig
И определить реализацию
В конце вы должны иметь:
Для получения дополнительной информации читайте это: https://developer.android.com/studio/build/multidex
источник
Просто сделайте следующее:
И добавьте ниже зависимость в вашем
build.gradle
файле уровня приложенияисточник
Пожалуйста, попробуйте добавить это в ваше приложение defaultConfig {}. Это поможет мне решить проблему
источник
В файле сборки Gradle добавьте зависимость:
или
или
А затем в разделе «defaultConfig» добавьте:
Под targetSdkVersion
Теперь, если вы столкнулись с этой ошибкой
Ошибка: не удалось разрешить: multidex-instrumentation Открыть файл
Вам нужно изменить свой gradle на 3.0.1
И поместите следующий код в файл gradle-wrapper.properties
distributionUrl = https: //services.gradle.org/distributions/gradle-4.1-all.zip
в заключение
добавить класс Applition в проект и представить его в AndroidManifest, который расширяется от MultiDexApplication
}
Сначала запустите проект, чтобы создать ошибку, затем очистите проект
Наконец, перезапустите проект и наслаждайтесь им
источник
Если вы используете minifyEnabled с Proguard, вам, скорее всего, не нужно будет включать multi-dex. Я согласен с MG Developer, что вы должны стараться избегать multi-dex, если это возможно. Моим решением было включить multi-dex только для отладочных сборок. minifyEnabled решает проблему для релизных сборок
источник
Я понятия не имею, почему, может быть, это потому, что я разрабатываю в Kotlin, но чтобы исправить эту ошибку, мне, наконец, нужно создать класс, который расширяется
MultiDexApplication
следующим образом:и по моему
Manifest.xml
я должен установитьчтобы никого не смущать я тоже делаю
для Android это также работает для меня:
...
<application android:name="android.support.multidex.MultiDexApplication">
у меня не работает
источник
У вас слишком много методов. Файл Android dex имеет ограничение в 65536 методов, которые вам разрешено иметь.
Для начала, если вам не нужен весь API Google Play Services и только местоположение, замените
с участием
Вы можете обратиться к этой странице, чтобы узнать, как этого избежать, или, если необходимо, разрешите больше: https://developer.android.com/studio/build/multidex.html.
источник
Все, что мне нужно было сделать, это установить для Minimum SDK 21 значение в File> Project Structure> App> Flavors
источник
добавьте свой файл android / app / build.gradle
источник
Я столкнулся с этой ошибкой дважды, и решение для этого есть; Проверьте файл приложения, чтобы увидеть ваш целевой SDK, если он 20 или выше, просто добавьте одну строку в ваш
defaultconfig { multiDexEnabled true }
Иначе, если ваш targetSDK меньше 20, добавьте строку в defaultConfig, а также добавьте зависимость
Проверьте эту ссылку для более.
https://developer.android.com/studio/build/multidex#mdex-gradle
источник
Использование поддержки multidex должно быть последним средством. По умолчанию сборка Gradle будет собирать тонну транзитивных зависимостей для вашего APK. Как рекомендуется в Документах для разработчиков Google , сначала попытайтесь удалить ненужные зависимости из вашего проекта.
С помощью командной строки перейдите к корневому каталогу проектов Android. Вы можете получить дерево зависимостей компиляции следующим образом.
Вы можете получить полный список дерева зависимостей
Затем удалите ненужные или транзитивные зависимости из вашего приложения build.gradle. Например, если ваше приложение использует зависимость, называемую com.google.api-client, вы можете исключить ненужные вам библиотеки / модули.
Затем в Android Studio выберите «Создать»> «Анализировать APK» ... Выберите файл APK выпуска / отладки, чтобы просмотреть его содержимое. Это даст вам методы и количество ссылок следующим образом.
источник
В сборке: приложение
источник
источник
Ошибка вызвана количеством зависимостей классов, которые есть в файле Gradle вашего приложения. Если классы превышают 72 400, вы можете использовать мультидекс в качестве решения для лучшей обработки индексации файлов. Узнайте больше здесь: https://developer.android.com/studio/build/multidex
источник