2015-12-22 3 views
1

После добавления, Cordova GCM push plugins Я столкнулся с несколькими проблемами с моей сборкой и разрешил ее, как показано на этом thread.Google GCM с ошибкой Cordova

В последнее время сборки начал обваливаться снова, с этим исключением:

Found com.google.android.gms:play-services-location:+, but version 8.3.0 is needed for the google-services plugin. 
:processDebugGoogleServices FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':processDebugGoogleServices'. 
> Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 8.3.0. 

Я полагаю, это произошло из следующих из build.gradle файла внутри platform/android

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.facebook.android:facebook-android-sdk:4.+" 
    compile "com.google.android.gms:play-services-location:+" // This line in particular 
    // SUB-PROJECT DEPENDENCIES END 
} 

Это не представляется возможным редактировать этот файл напрямую, поэтому я создал файл build-extras.gradle:

configurations.all{ 
    resolutionStrategy{ 
     force ("com.google.android.gms:play-services-location:8.3.0") 
    } 
} 

Но я не могу его решить. Я по-прежнему получаю ту же ошибку, что и выше.

Google указывает ошибку, аналогичную этой ошибке в 8.3 release notes. Как отмечено там, я указал версию, обновил свои инструменты сборки, воспроизвел репо.

ответ

0

я столкнулся с этой проблемой с другим плагиным, и я установил его с этим крюком в after_platform_add:

#!/usr/bin/env node 


var fs = require('fs'); 
var path = require('path'); 
var fork = require('child_process').fork, 
    shell = require("shelljs"); 

var dir = './platforms/android/'; 
if (fs.existsSync(dir)){ 
    fs.writeFileSync(dir + 'build-extras.gradle', 'configurations { all*.exclude group: \'com.android.support\', module: \'support-v4\'}', 'utf8'); 
} 

надежда, что помогает

+0

Я мог бы напрямую добавить эту конфигурацию, чтобы строить-extras.gradle. Но я попробую ваш подход. Но в основном это для нескольких файлов dex, не так ли? – InfinitePrime

+0

Не работает! Facebook подключить плагин, который я использую, выдает некоторую ошибку. – InfinitePrime

Смежные вопросы