Когда я пытаюсь запустить команду ionic cordova build android, выдает ошибку, как указано в заголовке выше. Затем я пытаюсь удалить один из gms, когда я снова создаю удаленное, он снова появляется. как это решить ?.
Вот мои зависимости моего build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
// SUB-PROJECT DEPENDENCIES START
debugCompile(project(path: "CordovaLib", configuration: "debug"))
releaseCompile(project(path: "CordovaLib", configuration: "release"))
compile "com.google.android.gms:play-services-auth:+" // i remove this
compile "com.google.android.gms:play-services-identity:+"
compile "com.facebook.android:facebook-android-sdk:4.+"
// SUB-PROJECT DEPENDENCIES END
}
Когда вы запускаете команду ионная кордова, вы можете изменить версию, у меня такая же ошибка, и я исправил проблему, изменив версию моих модулей узлов, моего плагина cordova, версию от студии Android.
Мой конф ниже:
СТУДИЯ ANDROID: 3.0.0
pply plugin: 'com.android.application'
buildscript { репозитории { jcenter () maven { url "https://maven.google.com" } }
// Switch the Android Gradle plugin version requirement depending on the
// installed version of Gradle. This dependency is documented at
// http://tools.android.com/tech-docs/new-build-system/version-compatibility
// and https://issues.apache.org/jira/browse/CB-8143
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.google.gms:google-services:3.1.1' // google-services plugin
}
}
// Разрешить плагинам объявлять зависимости Maven через build-extras.gradle. allprojects { репозитории { jcenter () maven { url "https://maven.google.com" } } }
оболочка задачи (тип: Wrapper) { gradleVersion = '2.14.1' }
...
...
...
...
...
применить плагин: 'com.google.gms.google-services'
Версия Gradle: 3.3 com.google.android.gms: play-services: 11.4.2
Иногда модуль узла и плагин Cordova ошибаются, поэтому вы удаляете вручную в папке. Не забудьте удалить и добавить плагин Cordova при его обновлении.
Попробуйте зайти в android studio => files => project structure => project => ok Обычно студия Android должна синхронизировать ваш градиент
ИЛИ ЖЕ
Ошибка: несколько библиотек с именем пакета com.google.android.gms.license
В моем случае проблема заключалась в том, что я включил:
compile 'com.google.android.gms:play-services-wearable:+'
compile 'com.google.android.gms:play-services:4.4.52'
как носимые игровые сервисы, так и обычные. Я закомментировал носимую часть, и она работает. Не уверен, понадобится ли мне это, но он был включен по умолчанию мастером проекта
Я надеюсь, что смогу вам помочь. Продолжать !
Я столкнулся с этой проблемой совсем недавно, и проблема для меня заключалась в том, что по какой-то причине файл android project.properties был сгенерирован с разными версиями для com.google.android.gms, как таковые:
target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:support-v4:24.1.1+
cordova.system.library.2=com.google.android.gms:play-services-auth:+
cordova.system.library.3=com.google.android.gms:play-services-identity:+
cordova.system.library.4=com.google.android.gms:play-services-location:11.+
Это приводит к тому, что для библиотеки 2 и 3 требуется одна версия, а для библиотеки 4 требуется более конкретная версия, что приводит к дублированию ссылки на библиотеку во время компиляции.
Хотя я не думаю, что это должно быть окончательным решением, добавление конкретной библиотеки сработало для меня. Как таковой:
target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:support-v4:24.1.1+
cordova.system.library.2=com.google.android.gms:play-services-auth:11.+
cordova.system.library.3=com.google.android.gms:play-services-identity:11.+
cordova.system.library.4=com.google.android.gms:play-services-location:11.+
после таких изменений при попытке сборки Не удалось найти ни одной версии, соответствующей com.google.gms: google-services: 11+. Несовпадающие версии:
Думаю, вам придется изменить значения, чтобы они соответствовали той версии, которую вы используете. Ключевой идеей является то, что у вас есть одна и та же версия для всех ссылок.
Это происходит из-за сервисов Play 12.0.0. Я пошел дальше и понизил уровень зависимостей до 11.8.0 (последняя известная рабочая версия для моего проекта). Я использую react native. У меня было 2 зависимости, которые тянули в 12.0.0 сервисов Google Play - com.google.android:play-services...12.0.0 Надеюсь это поможет.
спасибо за совет, ответ тоже помогает моей проблеме .. спасибо
Возможно, это связано с новым выпуском сервисов Google Play 12.0.0 (выпущен 20 марта 2018 г.)
Я решил исправить зависимости:
Добавить конфиг в android/build.gradle
allprojects {
repositories {
...
configurations.all {
resolutionStrategy {
// Add force (11.0.0 is version you want to use)
force 'com.google.firebase:firebase-core:11.0.0'
force 'com.google.firebase:firebase-crash:11.0.0'
force 'com.google.firebase:firebase-analytics:11.0.0'
force 'com.google.firebase:firebase-messaging:11.0.0'
force 'com.google.android.gms:play-services-base:11.0.0'
force 'com.google.android.gms:play-services-maps:11.0.0'
force 'com.google.android.gms:play-services-wallet:11.0.0'
}
}
}
}
Набор зависимостей взят с вашего android/app/build.gradle
в build.gradle добавьте это
configurations.all {
resolutionStrategy {
force "com.google.android.gms:play-services-ads:11.8.0"
force "com.google.android.gms:play-services-base:11.8.0"
force "com.google.android.gms:play-services-gcm:11.8.0"
force "com.google.android.gms:play-services-analytics:11.8.0"
force "com.google.android.gms:play-services-location:11.8.0"
force "com.google.android.gms:play-services-basement:11.8.0"
force "com.google.android.gms:play-services-tagmanager:11.8.0"
force 'com.google.firebase:firebase-core:11.8.0'
force 'com.google.firebase:firebase-crash:11.8.0'
force 'com.google.firebase:firebase-auth:11.8.0'
force 'com.google.firebase:firebase-common:11.8.0'
force 'com.google.firebase:firebase-config:11.8.0'
force 'com.google.firebase:firebase-messaging:11.8.0'
}
}
если это не сработает, найдите в своем проекте строку '12 .0.0 'и добавьте в список над отсутствующей библиотекой
Это сработало - спасибо! Я лично считаю, что лучше разместить это в build-extras.gradle.
Что мне нужно было сделать, чтобы сборка преуспела в моем приложении Ionic3:
Это может быть худший из возможных способов заставить все работать, но вроде как спас мне жизнь. Надеюсь, это кому-то поможет!
Для меня это был вопрос добавления номера версии в Сервисы Google Play в файле project.properies.
Итак, вам нужно изменить что-то вроде:
android.library.reference.1=CordovaLib
cordova.system.library.2=com.google.android.gms:play-services-auth:
cordova.system.library.3=com.google.android.gms:play-services-identity:
к:
android.library.reference.1=CordovaLib
cordova.system.library.2=com.google.android.gms:play-services-auth:11.
cordova.system.library.3=com.google.android.gms:play-services-identity:11.
В моем случае
npm update
cordova platform remove android
cordova platform add [email protected]
И замените в platform / android / projet.properties
cordova.system.library.1=com.android.support:support-v4+
К
cordova.system.library.1=com.android.support:support-v4:26+
просто измените платформу / android / project.properties на
target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:support-v4:24.1.1+
cordova.system.library.2=com.google.android.gms:play-services-auth:11.+
cordova.system.library.3=com.google.android.gms:play-services-identity:11.+
cordova.system.library.4=com.google.android.gms:play-services-location:11.+
это сработало для меня
Меня устраивает.
node_modules/react-native-camera/android/build.gradle:
dependencies {
compile 'com.facebook.react:react-native:+'
compile 'com.google.android.gms:play-services-gcm:11.8.0' // update by me on
20180321
}
ОБНОВИТЬ
Причина этой ошибки была идентифицирована как ошибка в v12.0.0 библиотеки сервисов Google Play:
Known Issues with version 12.0.0 -license POM dependencies cause "more than one library with package name ‘com.google.android.gms.license'" issues in Ionic Pro.
Ошибка исправлена в v12.0.1 библиотеки сервисов Google Play:
Restores unique package names for runtime linked -license artifacts which affected some build systems' (e.g. Ionic Pro) compatibility issues.
Таким образом, указание версии 12.0.1 или более поздней версии библиотеки сервисов Play через плагин Кордова-андроид-игры-сервисы-Gradle-релиз решает проблему, например:
cordova plugin add cordova-android-play-services-gradle-release --variable PLAY_SERVICES_VERSION=12.+
Только это сработало для меня в build.gradle:
allprojects {
repositories {
...
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.google.android.gms') {
details.useVersion '11.8.0'
}
if (requested.group == 'com.google.firebase') {
details.useVersion '11.8.0'
}
}
}
}
}
https://github.com/evollu/react-native-fcm/issues/857#issuecomment-375243825
1. Перейти в project.properties (в папке вашей платформы)
2. Я использовал только аналитику Google в моем "project.properties", и мне пришлось добавить "11. +" в конец версии, и это сработало для меня. Не уверен, что это долгосрочное решение, но это помогло.
cordova.system.library.2=com.google.android.gms:play-services-analytics:11.+
Я столкнулся с той же ошибкой в моем ионном проекте, после небольшого поиска я прочитал об обновлении платформы Android, которая требуется для последней версии Android Gradle Plugin для создания приложения.
Решение очень простое просто выполните описанный ниже шаг.
ionic cordova platform remove android
Добавьте минимальную версию Android SDK Build Tools 26.0.2 через Android SDK Manager, чтобы использовать последнюю версию Android Gradle Plugin для создания приложения.
Добавить минимальную версию для платформы Android
ionic cordova platform add android@^6.4.0
Для справки: https://developers.google.com/android/guides/releases
API Google для Android
20 марта 2018 г. - Версия 12.0.0
Известные проблемы с версией 12.0.0
Мы представим обновленную версию 12.0.1 для решения этих проблем в ближайшее время.
Мое обходное решение
(на основе последующего комментария Джереми Кастеллиотвечать и келдар)
Я использую следующий обходной путь (и я подчеркиваю, что это обходной путь).
Добавьте следующее в конец build-extras.gradle, создав файл при необходимости.
configurations.all {
resolutionStrategy {
force 'com.google.firebase:firebase-core:11.8+',
'com.google.firebase:firebase-messaging:11.8+',
'com.google.firebase:firebase-crash:11.8+',
'com.google.firebase:firebase-config:11.8+',
'com.google.firebase:firebase-auth:11.8+',
'com.google.android.gms:play-services-tagmanager:11.8+',
'com.google.android.gms:play-services-location:11.8+'
}
}
Важно включить все ссылки на firebase и все библиотеки android.gms, если вы пропустите хотя бы одну из них, она все равно не будет создана. Найдите все ссылки в своих файлах gradle. В моем случае я пропустил firebase-auth, на который есть ссылка в файле .gradle папки плагинов firebase.
Что делает разрешениеСтратегияforce, так это отменяет выбор версии, сделанный проектом / плагинами, и заставляет gradle ссылаться на конкретную версию.
Нет необходимости редактировать project.properties или любые другие файлы gradle с помощью этого обходного пути.
Итак, я вижу, что эта проблема была исправлена 28 марта. Вчера я загрузил последнюю версию плагина Cordova Google Maps, но проблема все еще возникает. Нужно ли нам ждать выпуска плагина Cordova Google Maps?
У меня тоже сработало, но, как вы говорите, редактирование project.properties не может быть окончательным решением!