Ao atualizar meu projeto para a versão mais recente do Google Play Services ( v4.0, lançada no Halloween 2013 ), agora você deve adicionar uma nova tag ao AndroidManifest.xml
arquivo.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Infelizmente, quando tento fazer isso, recebo este erro de compilação:
android-apt-compiler: /blahblah/AndroidManifest.xml:409: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').
Posso navegar até o arquivo em google-play-services_lib/res/values/version.xml
e visualizar o número inteiro bruto desse símbolo:
<integer name="google_play_services_version">4030500</integer>
E insira-o novamente no meu AndroidManifest.xml
:
<meta-data
android:name="com.google.android.gms.version"
android:value="4030500" />
Fazer isso funciona absolutamente bem e, em seguida, posso compilar e executar o projeto e o aplicativo. Mas é definitivamente uma correção indesejável com problemas óbvios de atualização.
Alguma ideia?
android
google-play-services
Charles Madere
fonte
fonte
Respostas:
Para todos que usam o Eclipse, é assim que você deve fazê-lo.
Então, no seu projeto
fonte
.project
arquivo nogoogle-play-services_lib
diretório indicado . Obviamente, o motivo imediato é que o Eclipse não pode gravar no diretório Arquivos de Programas, onde o SDK está localizado, mas a questão mais concreta seria por que a modificação do.project
arquivo (que aparentemente pertence ao SDK e, portanto, deve estar "correta") é necessária. em primeiro lugar.Observe que essa correção pode ser aplicada apenas aos usuários do IntelliJ !! (Mais informações na parte inferior desta postagem que devem ser aplicadas a todos.)
Corrigido este problema! Eu uso o IntelliJ e acabei de ter configurado mal a maneira como estava incluindo o
google-play-services_lib
módulo como uma dependência.Como eu corrigi isso inteiramente através da GUI e não editando nenhum arquivo, aqui estão algumas capturas de tela:
Então minha estrutura de projeto começou assim:
Em seguida, removi a
google-play-services
biblioteca da minha lista de dependências selecionando-a e clicando no botão menos na parte inferior. Observe o erro na parte inferior da caixa de diálogo, pois meu projeto absolutamente exige essa biblioteca. Mas não se preocupe, iremos adicioná-lo novamente em breve!Em seguida, adicionei
google-play-services_lib
como uma dependência de módulo em vez de uma dependência de biblioteca. Apertei o botão de seta para cima na parte inferior algumas vezes para mover essa dependência para o topo da lista. Mas observe o erro na parte inferior (ainda não terminamos!)Em seguida, cliquei na lâmpada na parte inferior da caixa de diálogo na área de mensagem de erro para exibir esse pequeno pequeno pop-up que oferece duas opções ( Adicionar às dependências ... ou Remover biblioteca ). Clique na opção Adicionar às dependências ... !
Uma nova pequena janela de diálogo deveria aparecer. Isso me deu duas opções, uma para o meu projeto principal (o nome está embaçado) e outra para o
google-play-services_lib
projeto. O seu pode ter muito mais, dependendo do seu projeto (como você pode veractionbarsherlock
, coisas assim). Selecionegoogle-play-services_lib
e clique em OK!E finalmente, você terminou! Espero que isso ajude alguém por aí!
Mais informações
Acredito que a razão pela qual esse problema estava ocorrendo é porque pensei que havia incluído corretamente todo o
google-play-services_lib
projeto no meu projeto geral ... mas na verdade não o fiz, e apenas incluíra adequadamente seu arquivo jar (google-play-services_lib/libs/google-play-services.jar
). Esse arquivo jar inclui apenas código, não valores de recursos do Android e, portanto, esse@integer/google_play_services_version
valor nunca esteve realmente no meu projeto. Mas o código pôde ser usado no meu projeto, e isso fez parecer que estava tudo bem.E, como observação lateral, a correção desse problema também parece ter corrigido a
GooglePlayServicesUtil.getErrorDialog(...).show()
falha que eu costumava ter. Mas isso também poderia ter sido corrigido pela atualização, não tendo 100% de certeza.fonte
Eu enfrentei o mesmo problema e, aparentemente, o Eclipse deixou o
version.xml
arquivo em / res / values dogoogle-play-services_lib
projeto original ao fazer uma cópia. Peguei o arquivo do projeto original e colei na minha cópia do projeto e o problema foi corrigido.fonte
No Eclipse, depois de importar a biblioteca do Google Play para a área de trabalho do projeto, copiei o arquivo version.xml de
para
fonte
version.xml
arquivo a cada atualização.Para quem usa o gradle: não inclua a fonte do projeto, faça o download usando o SDK Manager e adicione esta linha às dependências:
fonte
compile 'com.google.android.gms:play-services:4.1.32@aar'
ao seubuild.gradle
.@integer/google_play_services_version
estará disponível.fonte
Fora do manguito, parece que seu projeto está conectado a uma versão mais antiga do projeto de biblioteca do Play Services. A abordagem recomendada pelo Google é encontrar o projeto da biblioteca no SDK e fazer uma cópia local. No entanto, isso significa que sempre que você atualizar o projeto da biblioteca do Play Services por meio do SDK Manager, também será necessário substituir sua cópia por uma nova.
fonte
Também deparei com isso enquanto tentava usar o google_play_services_froyo.
Arquivei este bug: https://code.google.com/p/google-plus-platform/issues/detail?id=734
fonte
após a atualização para a última versão, tive esse problema com todos os meus projetos, mas foi resolvido apenas adicionando novamente a referência da biblioteca:
se você não possui a biblioteca em sua área de trabalho no Eclipse, pode adicioná-la com:
File
->Import
->Existing Android Code Into Workspace
-> navegar e navegar para ogoogle-play-services_lib
projeto lib, (android-sdk/extras/google/google_play_services/libproject
).excluindo
/bin
e/gen
pastas do meu projeto (algo semelhante à opção limpa) e construindo meu projeto novamente.fonte
Resolvido para Eclipse
Siga as etapas subseqüentes:
fonte
google-play-services_lib
estava emF:\Android\sdk\extras\google\google_play_services\libproject\google-play-services_lib
O site de desenvolvedor Android do Google tem instruções sobre como "Adicionar o Google Play Services ao seu projeto" e também são relevantes para atualizar a versão do Play Services. Existe até um menu suspenso para visualizar as instruções do Eclipse, Android Studio ou "Algo mais". Esse seria o melhor lugar para ver as instruções caso elas mudem. A página está aqui:
http://developer.android.com/google/play-services/setup.html
Mas como a maioria das respostas aqui é para Eclipse, aqui está um breve resumo para atualizar o Play Services com o Android Studio
Você pode encontrar o número da versão da play-services que você baixou na sua máquina de desenvolvimento, procurando na pasta \ sdk \ extras \ google \ m2repository \ com \ google \ android \ gms \ play-services, conforme explicado aqui : Como faço para combinar uma revisão do Google Play Services com uma versão de instalação?
fonte
Para o Eclipse, acabei de adicionar referência de projeto ao google-play-services_lib em:
Propriedades-Android No painel Biblioteca (painel inferior), verifique se o google-play-services_lib está listado. Caso contrário, clique no botão Adicionar .. e selecione google-play-services_lib.
fonte
Eu tive o mesmo problema, o arquivo version.xml não estava no google-play-services_lib. Basta iniciar seu gerenciador sdk e aceitar a atualização, especialmente as coisas relacionadas a "extras".
fonte
Ao importar o google-play-services_lib, verifique o código da versão definido em AndroidManifest.xml e version.xml. Eu havia encontrado a diferença no código da versão e alterado para 4242000 . Depois de fazer a alteração, não há mais erro de compilação em @ integer / google_play_services_version .
fonte
Corrigido adicionando o Google Play Services ao meu módulo: arquivo de criação do aplicativo gradle. A documentação também diz para atualizar a versão quando você atualiza o GMS.
fonte
Abaixo estão as principais ações que evitarão muitos erros ao usar o serviço Google play Lib:
fonte
Eu tive o mesmo problema com um projeto usando Maven e IntelliJ. Os serviços do Google Play são adicionados como dependência dependente. A construção do maven funcionou bem na linha de comando, mas o IntelliJ reclamou desse símbolo ausente
@integer/google_play_services_version
No meu caso, forcei uma atualização dos arquivos POM maven e isso resolveu o problema.
fonte
No meu caso, eu precisava copiar a pasta google-play-services_lib na mesma UNIDADE dos códigos-fonte dos meus aplicativos
fonte
Quando não estiver usando um IDE, mas usando compilações de linha de comando (usando ant e ndk-build), é assim que resolvê-lo:
Instale todas as peças solicitadas com o comando 'android'. Depois, tenha uma cópia do google-play-service_lib / na raiz do seu projeto. Edite project.properties para incluir esta linha:
fonte
android update project -p . -t android-22
emgoogle-play-services_lib
primeiro lugar. Equivalentemente, adicione<property name="android.library.reference.1" value="./google-play-services_lib"/>
ao seubuild.xml
(eu minimizei o meubuild.xml
e larguei o.properties
).Eu tive o mesmo problema. O problema era que o "google-play-services.jar" não foi importado corretamente para o meu projeto, mesmo que fosse parte do projeto google_play_service_lib. Se você estiver usando o Eclipse, verifique e veja se consegue ver o arquivo jar dos serviços de reprodução na seção Bibliotecas Privadas do Android e se ele é exportado pela biblioteca.
Estou usando as ferramentas da plataforma Android SDK versão 17 (não 19) e a versão 22.0.1 das ferramentas do Android SDK
fonte
Acabei de atualizar os serviços do Google Play na pasta Extras do Android SDK Manager
fonte
O problema para mim era que o projeto da biblioteca e o projeto usando serviços de reprodução estavam em diretórios diferentes. Então apenas:
fonte
O Google sugere que você não crie um projeto diretamente do diretório SDK. É melhor copiar o projeto lib para o local em que seu aplicativo está e depois importá-lo de lá. Caso contrário, na próxima vez que você importar o projeto para outro aplicativo, ele já estará em uso.
https://developer.android.com/google/play-services/setup.html
fonte
Qualquer pessoa que esteja procurando em 2017, a versão 10.0.1 dos serviços play requer importação
play-services-basement
(use para estarplay-services-base
).fonte
Android Studio 3.3.2 no Windows 10
Arquivo -> invalidar caches / reiniciar e escolha o
invalidate and Restart
botão na caixa de diálogo exibida.fonte
Eu tive o mesmo problema, adicione esta linha 2 no seu build.gradle, o problema será resolvido provavelmente. ;)
fonte