Aggiungere la versione dei servizi di Google Play al manifest della tua app?


88

Sto seguendo questo tutorial: https://developers.google.com/maps/documentation/android/start#overview su come aggiungere Google Maps a un'app all'interno dell'SDK Android.

L'unico problema che mi sembra di avere è durante questo bit (ho fatto tutto il resto senza errori):

Edit your application's AndroidManifest.xml file, and add the following declaration within the

 <application> element. This embeds the version of Google Play services that the app was compiled with.

 <meta-data
 android:name="com.google.android.gms.version"
 android:value="@integer/google_play_services_version" />

The error is:
   No resources found that match the given name (at 'value' with value '@integer/    
   google_play_services_version').

Ho provato a seguire la soluzione di questa persona allo stesso problema: aggiornamento della libreria di Google Play Services e simbolo mancante @ integer / google_play_services_version

ma ricevo ancora lo stesso errore. Qualche aiuto per favore?


Se Eclipse ti dà problemi, prova a farlo: stackoverflow.com/a/19990244/166921
Kamil Szot,

Risposte:


100

È probabile che la tua libreria non sia collegata correttamente al progetto o che tu abbia una versione precedente della libreria di Google Play Services, quindi appare un conflitto ed Eclipse è diventato stupido ..: S

No, non è necessario aggiungere nulla in integers.xml. Quando colleghi correttamente la libreria di Google-play-services al tuo progetto, il riferimento android:value="@integer/google_play_services_version"sarà trovato e sarai pronto per partire. Quando aggiungi una libreria al tuo progetto, esegui semplicemente un'altra pulizia così divertente dell'ambiente Eclipse in modo corretto.

Se codifichi da qualche parte questo numero quando arriverà la prossima versione di gioco, dovrai aggiornarlo. E se lo dimentichi, passerai di nuovo del tempo alla ricerca di insetti ..: S

Spero che abbia aiutato. ;)


1
Sì, su Android Studio ho aggiunto il servizio Google Play come modulo (non come libreria), ma ho dimenticato di aggiungere questo modulo al modulo del mio progetto dove si trova il file manifest. Questo ha risolto il problema :)
Ragaisis

18
Grazie, questo ha risolto il mio problema. Per una guida passo passo a prova di idiota per fare riferimento a un progetto di libreria in Eclipse / ADT, consulta i documenti di Google Tools . A quanto pare sono un idiota, perché stavo cercando di aggiungere la libreria in "Java Build Path: Libraries" - senza lavoro.
Jeffro

Ci scusiamo per il ritardo nella risposta, ma sì, questo era il problema, la libreria non era collegata correttamente al mio progetto!
Adz

1
Come farlo per Ant?
Dzmitry Lazerka

2
Se aiuta, ho dovuto eseguire alcuni passaggi in più in Android Studio. Andato a: Struttura del progetto -> App -> Dipendenze -> fai clic su + per aggiungere l'opzione per la libreria -> servizi di riproduzione (xxx). Ho ricevuto un errore quando ho ricostruito e la libreria aggiunta era play-services ... 0.0. Mi mancavano i repository di Google Play da SDK Manager sotto gli extra. Quando sono tornato e ho ripetuto quei passaggi, la libreria ora aveva un numero di versione effettivo e ricostruita con successo.
natur3

36

Ho la soluzione.

  • Passaggio 1: fare clic con il pulsante destro del mouse sul progetto in Esplora pacchetti (lato sinistro in eclipse)
  • Passaggio 2: vai ad Android.
  • Passaggio 3: nella sezione Libreria Aggiungi libreria ... (google-play-services_lib)
    vedi sotto

    • Copia il progetto della libreria in

    <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/

    • nella posizione in cui gestisci i progetti delle tue app Android. Se stai usando Eclipse, importa il progetto della libreria nel tuo spazio di lavoro. Fare clic su File> Importa, selezionare Android> Codice Android esistente in Workspace e cercare la copia del progetto libreria per importarlo.
    • Clicca qui per saperne di più.
  • Passaggio 4: fare clic su Applica
  • Passaggio 5: fare clic su OK
  • Passaggio 6: aggiorna l'app da Esplora pacchetti.
  • Passaggio 7: vedrai che l'errore è scomparso.

30

Da qui

Dovresti fare riferimento a una copia della libreria che hai copiato nell'area di lavoro di sviluppo: non dovresti fare riferimento alla libreria direttamente dalla directory di Android SDK.

Ho riscontrato questo errore perché ho fatto riferimento alla copia originale dalla directory SDK. Assicurati di copiare prima la libreria nell'area di lavoro Android e solo di fare riferimento ad essa. In eclipse puoi farlo selezionando "Copia i progetti nello spazio di lavoro" durante l'importazione del progetto.


3
aiaiai, ore sprecate per non aver spuntato questa casella ... contento di aver trovato questa risposta! Dovrebbe essere più chiaro nella documentazione di Google.
Marius Hilarious

E questo era il mio problema, tutto è stato referenziato nel modo in cui dovrebbe eccetto che la cartella di origine di google lib non è stata copiata nel mio spazio di lavoro
JustADev

Questa correzione ha funzionato anche per me. Ma mi chiedo qual è la differenza tecnicamente?
sivag1

Google dovrebbe aggiornare lo screenshot / le istruzioni qui: developers.google.com/+/mobile/android/getting-started
ban-geoengineering

22

In Android Studio puoi risolvere questo problema semplicemente aggiungendolo al tuo file Gradle:

compile 'com.google.android.gms:play-services:6.5.87'

MODIFICARE

Ora, a causa degli aggiornamenti e della nuova API Gradle, la linea che dovresti usare è:

implementation 'com.google.android.gms:play-services:12.0.0'

Un altro suggerimento importante : evita di utilizzare la versione in bundle di Google Play Services, ma considera la possibilità di dichiarare solo le dipendenze di cui la tua app ha bisogno per ridurne le dimensioni e per ridurre gli hit non necessari al limite di 65k metodi. Qualcosa di simile (ad esempio per Maps) sarebbe meglio dell'utilizzo generale dei servizi di gioco sopra:

implementation 'com.google.android.gms:play-services-maps:12.0.0'

Grazie - questo ha aiutato. Sto provando a fare questo tutorial e ho riscontrato questo errore e la tua soluzione mi ha aiutato: github.com/googledrive/android-demos
Simon

1
Avevo solo bisogno di pulire il progetto, dopo la sincronizzazione gradle, e l'errore intero mancante è andato via. Funziona bene anche:compile 'com.google.android.gms:play-services-appindexing:7.8.0'
Someone Somewhere

2
So che è una vecchia domanda / risposta, ma le persone ci stanno ancora imbattendo, quindi aveva senso aggiornarlo alle nuove API AS3 e Gradle e sottolineare la necessità di utilizzare una libreria specifica invece dell'intero pacchetto. Spero che all'autore originale non dispiaccia
Ewoks

7

Basta aggiungere il riferimento alla libreria, andare su Propertes-> Android, quindi aggiungere la libreria.

inserisci qui la descrizione dell'immagine

poi aggiungi in te AndroidManifest.xml

   <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

3

Ho avuto lo stesso problema in Android Studio 1.2.1.1. Era solo liske detto dalle altre risposte, tuttavia, non sono stato in grado di trovare dove aggiungere le dipendenze. Alla fine l'ho trovato in File-> Struttura progetto-> Dipendenze Questo menu ti darà la possibilità di aggiungere la dipendenza alla libreria di Google Play Services.


+1 per l'aiuto sulla navigazione oscura in AS 1.2. Grazie! Non ha aiutato, nel mio caso, il fatto che stavo lavorando a un progetto distribuito da un altro sviluppatore e non avevo mai installato la versione corretta della libreria dei servizi di riproduzione utilizzando il gestore SDK: $. Dopo aver scaricato / installato la libreria, sono tornato indietro e ho rimosso / aggiunto di nuovo e l'errore di compilazione è scomparso.
Anne Gunn


2

Nel mio caso ho dovuto installare il repository di Google dal gestore SDK.


1

Stavo ricevendo lo stesso errore; In precedenza avevo installato google-play-services_lib per Google Maps (e funzionava bene) ma poi, quando in seguito ho provato ad aggiungere la voce dei metadati al mio manifest, ho ricevuto l'errore. Ho provato tutti i suggerimenti di cui sopra ma niente li collegherebbe correttamente; Alla fine ho rimosso il collegamento dal mio progetto (project-properties-Android, remove google-play-services_lib library), quindi rimosso dall'area di lavoro Eclipse, eliminato i file sul disco e infine utilizzato il gestore SDK per reinstallare da zero.

Questo sembrava finalmente fare il trucco; ora Eclipse ha deciso di permettermi di lasciare la voce dei metadati senza errori.


Ho avuto lo stesso errore, la copia della lib di google-play-services nel mio spazio di lavoro era vecchia (quindi non conteneva la risorsa intera) e la sostituzione della lib con una versione aggiornata ha funzionato.
Bianca Daniciuc

0

È possibile modificare l'area di lavoro e quindi risolvere il problema e importare nuovamente il progetto corretto nell'area di lavoro principale. Anche i 4 passaggi dovrebbero essere per sperare che aiuti qualcuno in futuro.


0

Questo errore può verificarsi anche quando hai scaricato una nuova versione di Google Play Services e non hai installato l'ultimo SDK. Questo è quello che è successo a me. Quindi, come hanno detto gli altri, se provi a importare Google Play Services e quindi apri la console, vedrai un errore di compilazione. Prova a installare tutti gli SDK Android recenti e riprova, se questo è il caso.


0

Ho seguito i passaggi per recuperare da questo:

1) Importa i servizi di Google Play come progetto nel tuo sdk Android. Nel mio sistema si trova in C: \ adt-bundle-windows-x86_64-20140702 \ sdk \ extras \ google \ google_play_services \ libproject \ google-play-services_lib

2) La tua applicazione Android-> Proprietà -> Android

Nella finestra

2.1) Fare clic sulle API di Google nella destinazione della build del progetto 2.2) Aggiungere i servizi di Google Play nel frame in basso e fare clic su OK

Spero che dia istruzioni chiare su cosa fare !!

Grazie.


0

Nel mio caso, dovevo copiare la CARTELLA google-play-services_lib nella stessa DRIVE dei codici sorgente delle mie app

  • F: \ Products \ Android \ APP * .java <- Le mie app sono qui, quindi le ho copiate nella cartella sottostante
  • F: \ Products \ Android \ libs \ google-play-services_lib

0

La semplice rimozione della libreria di Google Play Services dal progetto e l'aggiunta di nuovo dalla sdk->extras->googlecartella ha risolto perfettamente il mio problema.


0

Per il mio caso, riavvio semplicemente Eclipse e funziona.

Ho lavorato per 2 settimane senza spegnerlo, penso che vada in tilt.

Grazie per il suggerimento però Ewoks!


0

Sostituire il codice della versione con il codice appropriato della versione della libreria risolverà il problema, in questo modo:

 <integer name="google_play_services_version"> <versioncode> </integer>


-37

Dovrai aggiungere un file "integers.xml" alla cartella "res / values" del tuo progetto. Il contenuto del file dovrebbe essere ..

<resources>
    <integer name="google_play_services_version">4030500</integer>
</resources>

6
non farlo mai, non è dinamico.
panchicore

2
Questa è esattamente la cosa sbagliata da fare. Vedi la risposta di Ewoks, su stackoverflow.com/a/20068489/1450294
Michael Scheper
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.