O Eclipse está me dando um erro na linha android: configChanges no meu AndroidManifest.xml:
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"></activity>
o erro é:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').
Se eu sair apenas keyboard|keyboardHidden|orientation
não há erro, mas o compilador pede os quatro restantes quando eu tento construir.
Estou usando GoogleAdMobAdsSDK-4.3.1
.
Alguma ideia?
EDIT: Eu consegui mudar o meu arquivo project.properties ( default.properties no SDK inferior a 14) para:
# Project target.
target=android-14
e no meu SDK Manager, com a plataforma SDK Android 4.0 - Revisão 14 instalada.
Ele também deve funcionar no SDK Platform android 3.2 - revisão 13 , portanto, você só precisa alterar o destino project.properties para android-13, se for esse o caso. Basicamente, você só precisa garantir que a revisão do SDK seja 13 ou superior e que o SDK esteja instalado no gerenciador do SDK e o destino do projeto em default / project.properties apontando para ele.
Respostas:
Resposta simples: as alterações de configuração mencionadas não são suportadas no Android 2.1, dê uma olhada aqui:
http://developer.android.com/guide/topics/manifest/activity-element.html#config
por exemplo, o uiMode precisa do nível 8 da API.
Da documentação oficial da AdMob:
Exigências
O SDK de anúncios do Google AdMob para Android requer o Android 1.5 ou posterior. Verifique se você possui a cópia mais recente do Android SDK e se está compilando com pelo menos o Android v3.2 (defina o destino em default.properties para android-13).
dê uma olhada aqui: https://developers.google.com/admob/android/quick-start
Portanto, acho que a versão da sua ferramenta não foi atualizada para pelo menos a Versão 13.
fonte
<uses-sdk android:minSdkVersion="7"/>
para a versão 8, 9, 10, 11, 12 ... ainda tenho o erro ... também tentei remover a linha e ainda me dá o erro.The android:configChanges value of the com.google.ads.AdActivity must include screenLayout. The android:configChanges value of the com.google.ads.AdActivity must include uiMode. The android:configChanges value of the com.google.ads.AdActivity must include screenSize. The android:configChanges value of the com.google.ads.AdActivity must include smallestScreenSize. You must have AdActivity declared in AndroidManifest.xml with configChanges.
e onde o anúncio deve estar, recebo uma caixa preta com a última mensagem de erro escrita em vermelho.Unable to resolve target 'android-13'
. Eu tenho o "Android SDK Tools, revisão 13" instalado no meu gerenciador de SDK ...Solução fácil: (e NÃO, você não precisa alterar o valor min-sdk !!)
Etapa 1: Alterar o arquivo "project.properties"
Etapa 2: No Eclipse
Para obter uma explicação completa com exemplo real, use este tutorial http://www.monkeycoder.co.nz/Community/posts.php?topic=1121
Felicidades !
fonte
Para aqueles que usam o Eclipse, há uma maneira mais fácil: Clique com o botão direito do mouse na pasta do projeto no painel esquerdo do "Package Explorer" e clique em Propriedades -> Android -> e, na lista "Destino da Construção do Projeto", desmarque a API 13 ou superior.
Nota: esse é o mesmo efeito da edição,
project.properties
que é gerada automaticamente de qualquer maneira.Isso criará seu projeto com relação ao SDK do Android 3.2, que inclui os termos que não foram reconhecidos anteriormente.
Você pode deixar seus
android:minSdkVersion
etargetSdkVersion
valores iguais em seu Manifest.xml.Entretanto , esteja avisado : se você não definir
targetSdkVersion
a API 12 ou inferior (ou não definir), o sistema Android assumirá que osandroid:configChanges
valoresscreenSize
esmallestScreenSize
(que foram introduzidos na API 13) são contabilizados e, portanto, serão permissão para destruir-reiniciar sua atividade. Se você quiser evitar isso, inclua esses termos em suas outras<activity>
tags (que provavelmente só existiamkeyboard|keyboardHidden|orientation
até agora).A citação é daqui .
fonte
Eu tive o mesmo problema, então vim aqui.
Fiz o download do código de exemplo em https://developers.google.com/admob/android/quick-start , ainda tinha o problema com todas as respostas acima, então usei o mesmo admob sdk que eles oferecem no projeto de amostra. Refaça a coisa de construir frascos, altere o destino para
android-15
e use a mesma linha que eles usam:E funciona!
fonte
Você usou
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize
ou mais curto? Se você alterar seu alvo acima de 13 e usar um configChanges mais longo (que eu escrevi), ele deverá funcionar.
fonte
Solução fácil: altere o arquivo "project.properties" para 21
fonte
fonte