Sconosciuta 'Proprietà LibraryVariants – Gradle non sincronizza

Storia lunga abbreviata: sto cambiando un'applicazione android per utilizzare i servizi app mobili Azure per utilizzare Google Firebase. Firebase era veramente facile e pronto per get l'installazione per Javascript ma ho avuto problemi infiniti con l'installazione di Android.

La mia applicazione dispone di tre moduli: Full, Lite e un terzo module che funge da libreria. Sto provando a configurare l'applicazione in modo che la versione completa abbia supporto Firebase e lo faccio utilizzando l'assistente integrato nello studio Android. Dopo aver fatto questo, questo non sarebbe stato creato perché il file JSON aggiunto includeva solo il nome del pacchetto completo. Ho finito per creare 3 versioni dell'applicazione nella console Firebase e aggiungere manualmente il file JSON al progetto (net.gptiming, net.gptiming.full e net.gptiming.library). Questo sembra funzionare – posso usare le librerie Firebase e il programma costruito.

  • Rileva l'orientamento della barra di navigazione di Android
  • App di session: errore Installazione di APK
  • Creazione di AVD per android 4.0.3
  • Lavorando con i problemi di acquisto-logica API per i materiali di consumo nell'applicazione API di vincita di Google Play (Rilevante per tutti i consumabili con API v3)
  • Assente la cartella "<sdk> / extras / google / google_play_services / libproject" dopo l'aggiornamento alla revisione 30
  • Debug di logging Eclipse
  • Il problema successivo che ho scoperto era che Firebase non avrebbe inizializzato – Dopo diverse ore di trawling Google e stackoverflow ho scoperto che ciò potrebbe essere dovuto a librerie non corrispondenti. Il mio primo passo era quello di aggiornare lo studio Android (a 2.3.2) e gli ultimi repository di Google e creare strumenti.

    Ora questo ha reso ancora un altro problema – uno che non riesco a trovare ovunque in linea. Gradle non sincronizza a causa del seguente errore:

    "Could not get unknown property 'LibraryVariants' for object of type com.android.build.gradle.LibraryExtension" 

    Questo errore si sta visualizzando nel file libreria di gradle build del module libreria che contiene quanto segue:

     apply plugin: 'com.android.library' android { compileSdkVersion rootProject.compileSdkVersion buildToolsVersion rootProject.buildToolsVersion buildToolsVersion '23.0.2' } dependencies { compile 'com.google.code.gson:gson-parent:2.7' compile 'com.google.firebase:firebase-core:10.2.1' compile 'com.google.firebase:firebase-database:10.2.1' compile 'com.google.firebase:firebase-auth:10.2.1' } apply plugin: 'com.google.gms.google-services' 

    Il file gradle del progetto è il seguente:

     buildscript { repositories { mavenCentral() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.0' classpath 'com.google.gms:google-services:3.1.0' } } allprojects { repositories { mavenCentral() jcenter() } } ext { compileSdkVersion = 19 buildToolsVersion = "23.0.2" storeFilePath = System.getenv('STORE_FILE') storePassword = System.getenv('STORE_PASSWORD') keyAlias = System.getenv('KEY_ALIAS') keyPassword = System.getenv('KEY_PASSWORD') } 

    e qui è il file del module di versione completa:

     apply plugin: 'com.android.application' dependencies { compile project(':gptiming-gptiming') compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.firebase:firebase-database:10.2.1' compile 'com.google.firebase:firebase-auth:10.2.1' } android { compileSdkVersion rootProject.compileSdkVersion buildToolsVersion rootProject.buildToolsVersion if (rootProject.storeFilePath) { signingConfigs { release { storeFile file(rootProject.storeFilePath) storePassword rootProject.storePassword keyAlias rootProject.keyAlias keyPassword rootProject.keyPassword } } buildTypes { release { signingConfig signingConfigs.release } } } buildToolsVersion '25.0.0' } apply plugin: 'com.google.gms.google-services' 

    Finora ho provato a cambiare la versione di Gradle a 2.3 ma Android studio 2.3.2 non supporterà la versione precedente di Gradle. Ho anche cercato di cambiare le versioni degli strumenti di build a quelle sopra indicate che non hanno fatto differenza. Lo studio Android non ha offerto alcun aiuto aggiuntivo sul problema.

    Mi dispiace per la lunga domanda, ma sono un rookie quando si tratta dello sviluppo di Android – non capisco completamente come funziona l'aspetto della libreria rispetto a Gradle e come integrare Firebase correttamente poiché la documentazione è un po 'sparsa e gli strumenti incorporati sono di nessun uso. Non so se l'errore ha qualcosa a che fare con Firebase o se sia solo una semplice messa a punto di Gradle, ma qualsiasi aiuto sarebbe molto apprezzato!

    Dovrei dire che non avevo alcun problema con questa struttura di libreria prima di aggiornare la versione dello studio Android e degli strumenti associati – tuttavia questo potrebbe essere stato mascherato dalle problematiche della libreria Firebase. L'applicazione ha lavorato con Azure prima di questi cambiamenti

  • Come sfogliare ImageView in Android?
  • Come posso get l'esempio ADK DemoKit che funziona su una scheda Google I / O Galaxy Tab 10.1?
  • Casella di commento di Facebook in Android
  • Ottenere la posizione di un elemento all'interno di un ListView?
  • MediaStore.Images.Media.insertImage restituisce null quando si tenta di salvare l'image
  • Android - Come applicare effetti di image diffrenerti su bitmap come seppia, nero e bianco, sfocatura ecc
  • L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.