Estou tentando implementar a nova biblioteca de suporte do ActionBar, lançada pelo Google há alguns dias. No passado, eu implementei o ActionBarSherlock com êxito, sem problemas, usando o mesmo método listado na página de configuração da Biblioteca de suporte do desenvolvedor do Google - usando o guia sobre como incluir os recursos (semelhante à maneira como o ActionBarSherlock o fez). Eu tenho o projeto da biblioteca carregado no meu próprio projeto como uma biblioteca também.
Eu posso dizer que a biblioteca está carregando bem. Quando, em vez de estender a Activity no meu MainActivity.java, mudei para estender o ActionBarActivity (conforme as instruções do Google), nenhum erro ocorre - e ele é importado corretamente.
Eu até tentei ignorando o arquivo style.xml e adicionando @style/Theme.AppCompat.Light
diretamente na AndroidManifest.xml para ambos <application>
e <activity>
com android:theme="@style/ThemeAppCompat.Light"
todas as tentativas resultantes no mesmo erro.
Agora, o problema é que não consigo mudar o tema, muito menos construir sem gerar um erro. Abaixo está o erro que estou recebendo, seguido pelo arquivo style.xml que mudei para usar o novo tema.
Tenho experiência moderada no trabalho com aplicativos Android e estou executando o Eclipse com a versão mais recente das Bibliotecas de Suporte e SDK compilando com a API 18 (Android 4.3).
Erro recebido durante a compilação
erro: Erro ao recuperar o pai do item: nenhum recurso encontrado que corresponda ao nome especificado '@ style / Theme.AppCompat.Light'. styles.xml / ActBarTest / res / values line 3 Problema no Android AAPT
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
</style>
</resources>
Alguma sugestão? Isso nunca foi um problema com o ActionBarSherlock. Quero trabalhar no uso desta nova biblioteca de suporte. Parece que o .jar está carregando, mas não os recursos.
fonte
Respostas:
Você precisa fazer o seguinte:
File->Import (android-sdk\extras\android\support\v7)
. Escolha "AppCompat"Project-> properties->Android.
Na biblioteca de seções "Adicionar" e escolha "AppCompat"Nota: se você estiver usando "android: showAsAction" no item de menu, precisará alterar o prefixo android como no exemplo http://developer.android.com/guide/topics/ui/actionbar.html
fonte
Se, como eu, você estiver seguindo o tutorial do Android em http://developer.android.com/training/basics/actionbar/setting-up.html e continuar recebendo esse erro, tente alterar o
AppBaseTheme
estilo em todos osstyles.xml
arquivos. Em detalhe:No arquivo,
res/values/styles.xml
altere a linha:para:
No arquivo,
res/values-v11/styles.xml
altere a linha:para:
No arquivo,
res/values-v14/styles.xml
altere a linha:para:
Agora o aplicativo deve funcionar bem.
fonte
res/values/styles.xml
em um novo projeto Android. Pelo menos não quando você o criaandroid create project
.Esse é um problema que pode ocorrer no Android Studio se você modificar os módulos de estrutura do projeto. Nesse caso, pode ser necessário adicionar as dependências novamente. Em um editor de texto, edite o arquivo 'build.gradle' para incluir as dependências necessárias:
Isso deve atualizar seu arquivo '{your_project_name} .iml' com componentes lib:
fonte
Vou compartilhar minha experiência com esse problema. Eu estava ficando louco por causa disso, mas descobri que o problema era um bug no próprio Eclipse, e não no meu código: No eclipse, não é possível fazer referência a um projeto de biblioteca do Android em outro projeto do Android
Portanto, se você tiver a Biblioteca de Suporte Android na unidade C: e seu projeto na unidade D: no computador, o Eclipse não funcionará corretamente e não saberá onde está a Biblioteca de Suporte Android (o visto verde se transforma em cruz vermelha ) Para resolver isso, você precisa mover os dois projetos para o mesmo disco rígido.
fonte
Fiz o seguinte no Eclipse com o projeto Android Support Library ( APL ) e o Main Project ( MP ):
Assegurou que APL e MP tivessem o mesmo
minSdkVersion
etargetSdkVersion
.APL adicionado como uma dependência de compilação para MP :
Entrando em "Propriedades> Caminho de Construção Java" do MP e, em seguida,
Selecionando a guia "Projetos" e adicionando APL .
Nas propriedades do MP , em "Android", foi adicionada uma referência ao APL na biblioteca.
1 e 2 obtiveram as referências às classes Java funcionando bem ... no entanto, eu ainda vi o erro no
manifest.xml
for MP ao tentar fazer referência a@style/Theme.AppCompat.Light
partir do APL . Isso só desapareceu quando eu executei a etapa 3.fonte
É um pouco tarde, mas aqui está como eu o faço no AndroidStudio!
Clique com o botão direito do mouse no aplicativo para acessar as propriedades
Vá para Dependências e clique no sinal '+' e escolha a dependência da biblioteca Escolha appcompat-v7
fonte
Solução IntelliJ IDEA.
1. Execute o Android SDK Manager e instale o mais recente SDK e Android Support Libarary . A versão do SDK e do Android Support Libarary deve ser a mesma ! 23 no meu caso. Outras variantes fornecerão os erros. 2. Altere a versão do SDK do seu projeto IDEA para a última que você instalou na etapa anterior. (ps. você não pode usar o Maven).
3. Adicione um novo módulo do curso existente ao seu projeto IDEA.
4. Adicione o projeto AppCompat. !!! Também deve estar no último SDK! (ps. Diga "Sim" em qualquer lugar do processo desta etapa)
5. Abra as configurações do seu módulo de projeto principal e adicione as próximas 3 dependências:
5.1 Dependência do módulo. Escolheu android-support-v7-appcompat
5.2 2 pc. Dependências da biblioteca. Adicione android-sdk \ extras \ android \ suporte \ v7 \ appcompat \ libs \ android-support-v4.jar e android-support-v4 \ android-support-v7-appcompat.jar
No total, será:
6. muito importante !!!
Adicione um tema com o prefixo @style (não outro!) .
Solução Android Studio.
1. Execute o Android SDK Manager e instale o mais recente SDK e Android Support Libarary . A versão do SDK e do Android Support Libarary deve ser a mesma ! 23 no meu caso. Outras variantes fornecerão os erros.
2. Adicione ao lado de build.gradle
PS Se você é novo no desenvolvimento do Android, eu recomendo que você mude para o Android Studio & Gradle agora - você terá a maneira mais simples de gerenciar seu aplicativo para Android.
fonte
Para Android Studio 1.2.2
Solte "android" do
parent
valor do atributo:fonte
você precisa de referência $ ANDROID_SDK / extras / android / support / v7 / appcompat
fonte
appcompat
como Biblioteca Android, o seu recurso principal projeto encontram-se tema de appcompatPara IntelliJ IDEA ou Android Studio:
Adicione isso ao arquivo de compilação app.gradle
Substitua
-v:xx.0+
, pelo seu destino de construção, se você tiver 19 plataformas, deve ser como:fonte
Siga as etapas do @rcdmk. Exclua o suporte ao Android v4.jar no SEU projeto. Está em conflito com a nova versão atualizada encontrada no appcompat.
fonte
Eu tive o mesmo problema e desperdicei minhas 4-5 horas por solução. Meu problema foi resolvido com;
Espero que você encontre sua solução.
fonte
O meu problema foi resolvido através dos seguintes passos
adicione o seguinte arquivo ao diretório libs do projeto
<SDK-PATH>\extras\android\support\v13android-support-v13.jar
Reinicie o Eclipse, se necessário. É isso aí. Seu problema deve desaparecer.
fonte
trabalho:
fonte
Como a discagem de importação é diferente no Android Studio 1.0.1, não foi possível obter a versão do Svyatoslav Lobachs para funcionar.
Em vez disso, baixei o "Repositório de Suporte do Android" no SDK Manager. Então adicionado
para
build.gradle
. Trabalhou para mim.fonte
http://developer.android.com/tools/support-library/setup.html tem um bug. Em Property-> Java build path -> 'Project' e 'Order and Export', não deve haver nenhum jar. Removê-los e verificar 'Bibliotecas particulares do Android' e 'Dependências do Android' resolveram o meu problema.
fonte
Tive o mesmo problema do OP depois de clicar com o botão direito do mouse no meu projeto e selecionar Fechar projetos não relacionados .
No meu caso, resolvi o problema reabrindo o projeto appcompat_v7 e limpando / reconstruindo os dois projetos.
fonte
Aconteceu comigo quando o Eclipse (Luna) / AndroidSDK (não o Android Stduio) foi usado com as ferramentas e a biblioteca mais recentes a partir de 14 de janeiro de 2015 durante o projeto, como HelloWorld. Quando instalei essas ferramentas e fiz do HelloWorld o primeiro aplicativo, aceitei todos os padrões. - Este é o problema no meu caso.
Primeiro, verifique se a biblioteca "Android Support Library" está instalada ou não. Caso contrário, instale-o. Não está instalado por padrão. Você pode fazer tudo isso no "Android SDK manager" disponível no menu.
(Gerenciador de SDK do Android -> Extra -> Biblioteca de suporte do Android)
Bênçãos (devedor) <> <
fonte
Solução mais rápida:
clique com o botão direito do mouse no projeto -> Ferramentas Android -> Adicionar biblioteca de suporte.
fonte
Eu cometi um erro muito bobo por isso. Quando eu estava recebendo o mesmo erro toda vez que eu não conseguia descobrir o que estava errado. então me ocorreu que depois de fechar todos os projetos no meu espaço de trabalho e esse era o tempo desde que todos os problemas começaram. Portanto, verifique se o seu "appcompat_v7" não está fechado. Se for, abra o projeto clicando duas vezes e limpe e construa seu projeto novamente. No meu caso, os erros se foram. Feliz codificação!
fonte
Não tenho certeza se a biblioteca de suporte da v13 estava disponível quando esta pergunta foi publicada, mas caso alguém ainda esteja com problemas, vi que a adição
android-support-v13.jar
corrigirá tudo. Foi assim que eu fiz:<your sdk path>\extras\android\support\v13\android-support-v13.jar
fonte
Para o Android Studio ou IntelliJ, tudo o que você precisa fazer é atualizar suas dependências no gradle.build. Eu usei o seguinte:
fonte
Não sei quantos de vocês notaram isso. A biblioteca de suporte "appcompat_v7" e seu projeto devem estar no mesmo diretório (refiro-me ao diretório da área de trabalho). Não limpe seu projeto até que ele seja livre de erros, caso contrário você terá problemas com o R.java
fonte
É melhor criar um novo projeto com qualquer nome e, em seguida, use appcompat_v7 que o programa faça novo.
Na biblioteca de seções
Add
e escolha a biblioteca appcompat.fonte
no eclipse, clique com o botão direito do mouse em seu projeto -> selecione o caminho de construção e, em seguida, selecione o caminho de configuração. na janela, selecione o arquivo jar que você deseja e atualize seu projeto
fonte
A solução aceita costumava funcionar para mim uma vez, mas não agora. Eu tive que recriar um hello-world do mesmo tipo (!) Em um novo espaço de trabalho, compilei e copiei todos os diretórios, incluindo
.hg
e.hgignore
.hg diff
mostra:Parece que o Eclipse deseja compilar para a API 21 e falha ao fazer qualquer coisa com a API 19. Darkly.
fonte
Se você adicionou a biblioteca appCompat e também forneceu a referência adequada da appCompat no local do SDK, tente "invalidar caches / Reiniciar" .
Você pode encontrá-lo no menu "Arquivo" no Android Studio.
fonte
No meu caso, o problema ocorreu porque eu queria usar um SDK que não inclui a biblioteca necessária. Quando eu aumentei o min. No nível do SDK, o problema desapareceu. É claro que a inclusão direta da própria biblioteca também deve remover o erro.
fonte
Esqueça tudo. Basta usar a biblioteca appcompat baixada usando o Android Studio. Tem todas as definições ausentes. Não importa se você está usando no Eclipse ou não.
fonte
Eu tive o mesmo problema e, mesmo depois de importar / adicionar um jar / library conforme mencionado nas respostas, ele não solucionaria o erro. Por frustração, criei um novo espaço de trabalho e criei um novo projeto para Android, e ele importou automaticamente o appcompat_v7 e não houve erros na limpeza e compilação. Não foi necessário importar um único jar / biblioteca manualmente. Apenas para sua informação, estou usando o eclipse Mars.1 Release (4.5.1) e estava enfrentando exatamente o mesmo problema toda vez que criava um novo projeto android.
fonte