Adicionando a versão do Google Play Services ao manifesto do seu aplicativo?

88

Estou seguindo este tutorial: https://developers.google.com/maps/documentation/android/start#overview sobre como adicionar o Google Maps a um aplicativo no Android SDK.

O único problema que parece que estou tendo é durante esta parte (fiz tudo o resto sem erros):

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').

Tentei seguir a solução desta pessoa para o mesmo problema: atualização da biblioteca do Google Play Services e símbolo ausente @ integer / google_play_services_version

mas continuo recebendo o mesmo erro. Alguma ajuda por favor?

Adz
fonte
Se o Eclipse lhe causar problemas, tente fazer isso: stackoverflow.com/a/19990244/166921
Kamil Szot

Respostas:

100

É provável que sua biblioteca não esteja ligada ao projeto corretamente ou que você tenha uma versão mais antiga da biblioteca google-play-services, então o conflito aparece e o Eclipse ficou estúpido ..: S

Não, você não precisa adicionar nada em integers.xml. Quando você vincular corretamente a biblioteca de serviços do Google Play à sua referência de projeto, android:value="@integer/google_play_services_version"ela será encontrada e você estará pronto para prosseguir. Quando você adiciona uma biblioteca ao seu projeto, apenas faça mais uma varredura limpa e divertida do ambiente Eclipse apropriadamente.

Se você codificar em algum lugar esse número quando chegar a próxima versão do jogo, você precisará atualizá-lo. E se você se esquecer disso, você passará um tempo novamente procurando por bug ..: S

Espero que tenha ajudado. ;)

Ewoks
fonte
1
Sim, no android studio adicionei o serviço google play como um módulo (não como uma biblioteca), mas esqueci de adicionar este módulo ao meu módulo de projeto onde está o arquivo de manifesto. Isso resolveu o problema :)
Ragaisis
18
Obrigado, isso resolveu meu problema. Para obter um guia passo a passo à prova de idiotas para fazer referência a um projeto de biblioteca no Eclipse / ADT, consulte os documentos das Ferramentas do Google . Aparentemente, sou um idiota, porque estava tentando adicionar a biblioteca em "Caminho de construção Java: bibliotecas" - não funcionou.
Jeffro
Desculpe pelo atraso na resposta, mas sim, esse era o problema, a biblioteca não estava ligada corretamente ao meu projeto!
Adz
1
Como fazer isso para o Ant?
Dzmitry Lazerka de
2
Se ajudar, tive que seguir mais algumas etapas no Android Studio. Acessou: Estrutura do projeto -> Aplicativo -> Dependências -> clique em + para adicionar opção para Biblioteca -> serviços de reprodução (xxx). Recebi um erro quando reconstruí e a biblioteca adicionada era play-services ... 0.0. Eu estava sentindo falta dos Repositórios do Google Play do SDK Manager nos Extras. Quando voltei e repeti essas etapas, a Biblioteca agora tinha um número de versão real e foi reconstruída com sucesso.
natur3 de
36

Eu tenho a solução.

  • Etapa 1: clique com o botão direito em seu projeto no Package explorer (lado esquerdo do eclipse)
  • Etapa 2: vá para o Android.
  • Etapa 3: na seção Biblioteca, Adicionar biblioteca ... (google-play-services_lib)
    veja os botões abaixo

    • Copie o projeto da biblioteca em

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

    • para o local onde você mantém seus projetos de aplicativos Android. Se você estiver usando o Eclipse, importe o projeto de biblioteca para sua área de trabalho. Clique em Arquivo> Importar, selecione Android> Código Android existente no espaço de trabalho e navegue até a cópia do projeto de biblioteca para importá-lo.
    • Clique aqui para saber mais.
  • Etapa 4: Clique em Aplicar
  • Etapa 5: Clique em ok
  • Etapa 6: atualize seu aplicativo no Package Explorer.
  • Etapa 7: você verá que o erro desapareceu.
Vrajesh
fonte
30

A partir daqui

Você deve fazer referência a uma cópia da biblioteca que copiou para o seu espaço de trabalho de desenvolvimento - você não deve fazer referência à biblioteca diretamente do diretório Android SDK.

Eu enfrentei esse erro porque fiz referência à cópia original do diretório SDK. Certifique-se de primeiro copiar a biblioteca para o espaço de trabalho do Android e apenas fazer referência a ela. No eclipse, você pode fazer isso marcando "Copiar projetos para o espaço de trabalho" ao importar o projeto.


fonte
3
aiaiai, horas perdidas por não marcar essa caixa ... que bom que encontrei essa resposta! Deve ser mais claro na documentação do Google.
Marius Hilarious,
E esse era o meu problema, tudo era referenciado da maneira que deveria, exceto a pasta de origem do google lib não foi copiada para meu espaço de trabalho
JustADev
Essa correção funcionou para mim também. Mas pergunto qual é a diferença técnica?
sivag1
O Google deve atualizar a captura de tela / instruções aqui: developers.google.com/+/mobile/android/getting-started
ban-geoengineering
22

No Android Studio, você pode corrigir isso simplesmente adicionando ao seu arquivo Gradle:

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

EDITAR

Agora, devido às atualizações e à nova API Gradle, a linha que você deve usar é:

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

Mais uma dica importante : evite usar a versão empacotada do Google Play Services, mas considere declarar apenas as dependências que seu aplicativo precisa para reduzir o tamanho, bem como para reduzir hits desnecessários para o limite de 65k métodos. Algo como (por exemplo, para mapas), isso seria melhor do que o uso de serviços gerais de jogo acima:

implementation 'com.google.android.gms:play-services-maps:12.0.0'
Joaquin Iurchuk
fonte
Obrigado - isso ajudou. Estou tentando fazer este tutorial e encontrei este erro e sua solução me ajudou: github.com/googledrive/android-demos
Simon
1
Eu só precisava limpar o projeto, após a sincronização do Gradle, e o erro de número inteiro ausente foi embora. Isso também funciona bem:compile 'com.google.android.gms:play-services-appindexing:7.8.0'
Alguém em algum lugar
2
Eu sei que é um antigo Q / A, mas as pessoas ainda estão tropeçando nele, então fez sentido atualizá-lo para as novas APIs AS3 e Gradle e enfatizar o desejo de usar uma biblioteca específica em vez de um pacote completo. Espero que o autor original não se importe
Ewoks,
7

Basta adicionar a referência da biblioteca, ir para Propertes-> Androide adicionar a biblioteca.

insira a descrição da imagem aqui

então adicione em você AndroidManifest.xml

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

Eu tive o mesmo problema no Android Studio 1.2.1.1. Foi apenas porque as outras respostas disseram, no entanto, não consegui encontrar onde adicionar as dependências. Finalmente, encontrei-o em Arquivo-> Estrutura do projeto-> Dependências. Este menu lhe dará a opção de adicionar a dependência à biblioteca do Google Play Services.

7heViking
fonte
+1 pela ajuda na navegação obscura no AS 1.2. Obrigado! Não ajudou, no meu caso, que eu estava trabalhando em um projeto entregue a partir de outro desenvolvedor e nunca tinha realmente instalado a versão correta da biblioteca de serviços de jogo usando o gerenciador do SDK: $. Depois de baixar / instalar a biblioteca, voltei e removi / adicionei novamente e o erro de compilação foi embora.
Anne Gunn
2

No meu caso, tive que instalar o repositório google do gerenciador do SDK.

MarcSB
fonte
1

Eu estava recebendo o mesmo erro; Eu já tinha instalado google-play-services_lib para o Google Maps (e estava funcionando bem), mas quando mais tarde tentei adicionar a entrada de metadados ao meu manifesto, recebi o erro. Tentei todas as sugestões acima, mas nada as ligaria corretamente; Finalmente removi o link do meu projeto (project-properties-Android, remova a biblioteca google-play-services_lib), removai do espaço de trabalho do Eclipse, apaguei os arquivos do disco e finalmente usei o gerenciador do SDK para reinstalar do zero.

Isso pareceu finalmente funcionar; agora o Eclipse decidiu permitir-me deixar a entrada de metadados sem erros.

dgiles
fonte
Eu tive o mesmo erro, a cópia da lib google-play-services em meu espaço de trabalho era antiga (portanto, não continha o recurso inteiro) e substituir a lib por uma versão atualizada resolveu o problema.
Bianca Daniciuc
0

Você pode alterar o espaço de trabalho e corrigir esse problema e importar o projeto corrigido de volta para o seu espaço de trabalho principal. Além disso, os 4 passos devem estar em ordem, espero que ajude alguém no futuro.

sivi
fonte
0

Esse erro também pode ocorrer quando você baixa uma nova versão do Google Play Services e não instala o SDK mais recente. Foi o que aconteceu comigo. Portanto, como os outros mencionados, se você tentar importar o Google Play Services e depois abrir o console, verá um erro de compilação. Tente instalar todos os SDKs Android recentes e tente novamente, se for o caso.

UtsavShah
fonte
0

Eu segui as seguintes etapas para me recuperar disso:

1) Importe os serviços do Google Play como projeto em seu SDK do Android. Em meu sistema, ele é encontrado em C: \ adt-bundle-windows-x86_64-20140702 \ sdk \ extras \ google \ google_play_services \ libproject \ google-play-services_lib

2) Seu aplicativo Android -> propriedades -> android

Na janela

2.1) Clique em APIs do Google no destino de construção do projeto 2.2) Adicione serviços google-play no quadro inferior e clique em OK

Espero que dê instruções claras sobre o que fazer !!

Obrigado.

pravs
fonte
0

No meu caso, precisei copiar a PASTA google-play-services_lib no mesmo DRIVE dos códigos-fonte dos meus aplicativos

  • F: \ Products \ Android \ APP * .java <- Meus aplicativos estão aqui, então copiei para a pasta abaixo
  • F: \ Products \ Android \ libs \ google-play-services_lib
Fedmich
fonte
0

Simplesmente remover a biblioteca de serviços do Google Play do projeto e adicionar mais uma vez da sdk->extras->googlepasta resolveu meu problema perfeitamente.

Neal Ahluvalia
fonte
0

No meu caso, apenas reinicio meu Eclipse e funciona.

Estou trabalhando há 2 semanas sem desligá-lo, acho que está tudo maluco.

Obrigado pela sugestão embora Ewoks!

Eddy Goh
fonte
0

Substituir o código da versão pelo código apropriado da versão da biblioteca resolverá seu problema, como este:

 <integer name="google_play_services_version"> <versioncode> </integer>
1'hafs
fonte
-3

Pode ser usado diretamente como

android:value="6587000"

no lugar de

android:value="@integer/google_play_services_version"

Felicidades.

Ali Akram
fonte
Veja a resposta aceita acima ( stackoverflow.com/a/20068489/165164 ) para saber por que isso é uma má ideia.
Anne Gunn
-37

Você precisará adicionar um arquivo "integers.xml" à pasta "res / valores" do seu projeto. O conteúdo do arquivo deve ser ..

<resources>
    <integer name="google_play_services_version">4030500</integer>
</resources>
Murray
fonte
6
nunca faça isso, não é dinamicamente.
panchicore 01 de
2
Essa é exatamente a coisa errada a se fazer. Veja a resposta de Ewoks em stackoverflow.com/a/20068489/1450294
Michael Scheper