Nenhum recurso encontrado - Theme.AppCompat.Light.DarkActionBar

145

Usei o ActionBar Style Generator e agora estou tentando usá-lo no meu aplicativo, mas obtendo:

erro: Erro ao recuperar o pai do item: nenhum recurso encontrado que corresponda ao nome determinado '@ style / Theme.AppCompat.Light.DarkActionBar'.

Estou usando a android-support-v7-appcompat.jar lib dentro da pasta libs

meu objetivo é tornar meu aplicativo compatível 2.3 ou superior

Sol
fonte
você adicionou o jar à pasta libs?
Raghunandan
sim android-support-v7-appcompat.jar #
Sun

Respostas:

96

AppCompaté um projeto de biblioteca. Você precisa fazer referência ao projeto da biblioteca em seu projeto Android.

Verifique o tópico Incluindo Bibliotecas com Recursos .

Raghunandan
fonte
1
já colocados android-support-v7-appcompat.jar para libs pasta
Sun
4
@AbrahimNeil que não é o caminho certo. seu projeto de biblioteca de um e, portanto, deve ser referenciado como o Google Play Services
Raghunandan
quando estou importando android-support-v7-appcompat.jar, não é possível resolver o destino android-16 é necessário?
Sun
1
vamos continuar esta discussão no bate
Raghunandan
1
adicionando implementation 'com.android.support:appcompat-v7:28.0.0', sob dependências resolvi meu problema.
Hilal
35

Se você estiver usando o Eclipse , adicione-o reference libraryao seu projeto como as seguintes etapas:

  1. Clique com o botão direito do mouse no seu projeto na Project ExplorerVisualização.
  2. Clique em Properties.
  3. Clique Androidna Propertiesjanela
  4. No Librarygrupo, clique emAdd...
    • Veja a imagem abaixo.
  5. Selecione a biblioteca. Clique em OK .
  6. Clique no OKbotão novamente na janela Propriedades.

O botão "Adicionar" na janela Propriedades do projeto, seção Android, grupo Biblioteca.

MD
fonte
4
como você sabe op está usando eclipse não android studio ?. o snap publicado é para eclipse.
Raghunandan
@Raghunandan desculpe se esqueça de mencionar isso
MD
1
Funciona perfeitamente no Eclipse. Obrigado!
Scott Biggs
33

Se você estiver usando o Android Studio , basta adicionar a dependência

dependencies {
     implementation 'com.android.support:appcompat-v7:25.0.1'
}

para app/build.gradle. E isso vai funcionar

NJ
fonte
2
Hum ... não funciona ... ainda não resolverá o android: Theme.AppCompat. * No meu arquivo styles.xml.
Michael Michael
Acabei de substituir a implementação 'com.android.support:appcompat-v7:28.0.0' pela implementação 'com.android.support:appcompat-v7:25.0.1' e agora funciona ... mas por quê?
CGR
1
@CGR Acredito que o Android alterou os temas para 28+ e o Light.DarkActionBar não está mais disponível.
DoomGoober
13

Para qualquer pessoa que esteja usando o VS2015, eu também estava recebendo esse erro, e acontece que eu não havia adicionado a biblioteca ao projeto ...

Install-Package Xamarin.Android.Support.v7.AppCompat
James Joyce
fonte
1
Consegui isso depois de iniciar um novo projeto no VS2019 e Construí-lo. Simplesmente fazer uma "Solução de reconstrução" sem precisar instalar mais nada resolveu os erros.
Glen Little
8

Se você estiver usando o Eclipse, apenas copiar a pasta android-support-v7-appcompat.jar para libs não funcionará se você estiver usando recursos.

Siga as etapas aqui para " Adicionando bibliotecas com recursos ".

Prakash
fonte
7

Uma solução simples - substitua o conteúdo deste arquivo (/res/values/styles.xml) por este é o texto:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

Wladimir Koroy
fonte
1
"Erro ao recuperar o pai do item: nenhum recurso encontrado que corresponda ao nome 'AppBaseTheme'."
Yousha Aleayoub
1
Este não é o AppCompat .
IgorGanapolsky 14/09/16
4
dependencies {

    compile 'com.android.support:appcompat-v7:23.0.0'

}

Isso funcionou para mim ... no Android Studio ...

Sreenu Yatam
fonte
4

No meu caso, peguei um androidprojeto de um computador para outro e tive esse problema. O que funcionou para mim foi uma combinação de algumas das respostas que já vi:

  • Remova a cópia da biblioteca appcompat que estava na pasta libs da área de trabalho
  • Instale o sdk 21
  • Altere as propriedades do projeto para usar essa compilação sdk insira a descrição da imagem aqui
  • Configurar e iniciar um emulador compatível com sdks 21
  • Atualize a configuração de execução para solicitar a execução do dispositivo e escolha Executar

O meu correu bem após essas etapas.

JanB
fonte
3

O uso do Visual Studio 2015 (Windows7) + Xamarin teve esse erro e depois de tentar várias coisas (instalar pacotes, baixar android_m2repository_r10.zip ...) acabou removendo a pasta completa do Xamarin dentro

C:\Users\<my user>\AppData\Local

Depois disso, recrie o aplicativo no VS e os erros desaparecerão.

Riga
fonte
Isso funcionou para mim :) Nota: Usando o Visual Studio Enterprise. 2017 15.8 Preview 3.0
David Jones
Funcionou para mim também, usando o VS 2017.
Richard Lyle
3

verifique se há um diretório v7 no seu sdk, achei que ter a 'Biblioteca de suporte do Android' (em extras) era suficiente. Acontece que estava faltando o repositório 'Local Maven para bibliotecas de suporte (extras; android; m2repository)', que o Studio descobriu e corrigiu as dependências do gradle. usando gradle para construir então funcionou. $ cat app / build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "pat.example.com.gdbdemo"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.2.1'
}
Patrick Lefevre
fonte
3
dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

compilação foi substituída pela implementação, não sei por quê.

Paul McCarthy
fonte
Esta é a solução para mim.
Shizhen
2

Se você estiver usando o Android.mk para criar, use o USE_AAPT2, que vincula o recurso criado no AAR.

Adicione abaixo da linha no arquivo Android.mk:

LOCAL_USE_AAPT2: = true

Prasanth.NVS
fonte
1
  1. Atualize seu SDK no gerenciador e inclua Android support librarynos extras
  2. Vá para o SDK no gerenciador de arquivos (Finder no mac), localize a pasta do extra ( ..\sdk\extras\android\support\v7\appcompat\res\valuesno Windows). Em algum lugar lá é um themes.xmle themes_base.xml . Copie esses dois arquivos.
  3. No seu projeto, cole os arquivos no diretório 'values'
Alex Jolig
fonte
A cópia de themes_base.xml em res / values ​​resolveu o problema original, mas resultou em outras referências não resolvidas.
FractalBob
1

Se você estiver usando o Visual Studio para MAC , corrija o problema clicando em Projeto> Restaurando pacotes do Nutget

JotaPardo
fonte
0

No Eclipse: Ao importar uma biblioteca de suporte como uma biblioteca de projetos, seguindo as instruções em Adicionando Bibliotecas de Suporte , não se esqueça de marcar a opção "Copiar projetos na área de trabalho" !

villamejia
fonte
0

Eu tenho esse mesmo problema. Nenhuma das soluções listadas aqui ajudou minha situação. Acontece que eu estava importando a pasta pai de um projeto para o Android Studio 1.5, em vez da própria pasta do projeto. Isso deixou Gradel irritado. A solução foi importar a pasta do projeto.

BishopZ
fonte
-1

No xamarin, se você enfrentar esse problema ao adicionar qualquer novo sdk. A solução simples é abrir o arquivo de estilos e adicionar esta linha.

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

É uma solução melhor do que adicionar appcompat.

Nawin
fonte