5

Ho un problema con un vecchio progetto sviluppato in IntelliJ senza Gradle. Volevo migrarlo su Android Studio e Gradle, ma sto riscontrando un sacco di problemi. Poiché il progetto era piuttosto obsoleto, è stata utilizzata la vecchia versione di Google Play Services. In Intellij avevo appena aggiunto libproject del vecchio gps alle dipendenze (google_play_services_5089000_r19) e tutto ha funzionato bene. In Android Studio sono riuscito ad aggiungere altre librerie aggiungendolo come modulo libreria e aggiungendo compile project(':segmentedradios') come dipendenza gradle, ma non riesco proprio a far funzionare la libreria gps. Ho provato ad aggiungerlo come modulo, ma Android Studio dice che "nessun modulo selezionato" dopo aver puntato alla directory della libreria libroject. Ho anche provato ad aggiungerlo come una dipendenza Gradle, ma io sono continuo a ricevere errori come questi:errore: il pacchetto com.google.android.gcm non esiste - Dopo la migrazione a Gradle

error: package com.google.android.gcm does not exist 
error: package com.google.android.maps does not exist 
error: cannot find symbol variable GCMRegistrar 

Nonostante ho provato ~ 10 soluzioni diverse, il progetto ancora non funziona. Come sistemarlo?

Gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion "Google Inc.:Google APIs:18" 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "my_package.app_name" 
     minSdkVersion 14 
     targetSdkVersion 18 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile 'com.android.support:support-v4:18.0.0' 
    compile files('libs/libGoogleAnalyticsV2.jar') 
    compile project(':segmentedradios') 
    compile 'com.google.android.gms:play-services:5.0.89' 
} 

risposta

22

GCMRegistrar non fa parte del Google Play Services, ma è parte del file now entirely deprecatedgcm.jar.

È necessario aggiungere gcm.jar alle tue dipendenze se si desidera mantenere temporaneamente ad usarlo fino a quando si esegue la migrazione alla realizzazione GCM Google Play Services':

compile files('libs/gcm.jar') 
+0

Questa è l'unica soluzione che ha funzionato per la mia app quando sono passato da Eclipse a AS. – mvreijn

+0

@mvreijn Ho lo stesso problema che hai individuato per favore dove posso scaricare il file gcm.jar * – Rodrigo

+0

@Rodrigo Penso di aver usato la soluzione presentata qui: https://stackoverflow.com/a/28066114/1343553 – mvreijn

1

È necessario aggiungere queste due linee in il file build.gradle della vostra applicazione:

dependencies { 
    ... 
    compile 'com.google.maps:google-maps-services:0.1.3' 
    compile 'com.google.android.gms:play-services:6.5.87' 
}