me.at.coding
me.at.coding

Reputation: 17796

Gradle build: resource android:style/TextAppearance.Material not found

I just installed AndroidStudio and imported an old Eclipse ADT project (API level 18). However, when trying to build this project in AndroidStudio, I get the following errors:

resource android:style/TextAppearance.Material not found.   
resource android:style/TextAppearance.Material.Body1 not found. 
resource android:style/TextAppearance.Material.Body2 not found. 
resource android:style/TextAppearance.Material.Button not found.    
resource android:style/TextAppearance.Material.Caption not found.   
resource android:style/TextAppearance.Material.Display1 not found.  
resource android:style/TextAppearance.Material.Display2 not found.  
resource android:style/TextAppearance.Material.Display3 not found.  
resource android:style/TextAppearance.Material.Display4 not found.  
resource android:style/TextAppearance.Material.Headline not found.  
resource android:style/TextAppearance.Material.Inverse not found.   
resource android:style/TextAppearance.Material.Large not found. 
resource android:style/TextAppearance.Material.Large.Inverse not found. 
resource android:style/TextAppearance.Material.Widget.PopupMenu.Large not found.    
resource android:style/TextAppearance.Material.Widget.PopupMenu.Small not found.    
resource android:style/TextAppearance.Material.Medium not found.    
resource android:style/TextAppearance.Material.Medium.Inverse not found.    
resource android:style/TextAppearance.Material.Menu not found.  
resource android:style/TextAppearance.Material.SearchResult.Subtitle not found. 
resource android:style/TextAppearance.Material.SearchResult.Title not found.    

How can I fix this error? Which further information shall I provide?

This is the import protocol, in case it helps:

ECLIPSE ANDROID PROJECT IMPORT SUMMARY
======================================

Manifest Merging:
-----------------
Your project uses libraries that provide manifests, and your Eclipse
project did not explicitly turn on manifest merging. In Android Gradle
projects, manifests are always merged (meaning that contents from your
libraries' manifests will be merged into the app manifest. If you had
manually copied contents from library manifests into your app manifest
you may need to remove these for the app to build correctly.

Ignored Files:
--------------
The following files were *not* copied into the new Gradle project; you
should evaluate whether these are still needed in your project and if
so manually move them:

* .gitignore
* ic_launcher-web.png
* proguard-project.txt

Replaced Jars with Dependencies:
--------------------------------
The importer recognized the following .jar files as third party
libraries and replaced them with Gradle dependencies instead. This has
the advantage that more explicit version information is known, and the
libraries can be updated automatically. However, it is possible that
the .jar file in your project was of an older version than the
dependency we picked, which could render the project not compileable.
You can disable the jar replacement in the import wizard and try again:

android-support-v4.jar => com.android.support:support-v4:18.0.0

Replaced Libraries with Dependencies:
-------------------------------------
The importer recognized the following library projects as third party
libraries and replaced them with Gradle dependencies instead. This has
the advantage that more explicit version information is known, and the
libraries can be updated automatically. However, it is possible that
the source files in your project were of an older version than the
dependency we picked, which could render the project not compileable.
You can disable the library replacement in the import wizard and try
again:

google-play-services_lib => [com.google.android.gms:play-services:+]

Moved Files:
------------
Android Gradle projects use a different directory structure than ADT
Eclipse projects. Here's how the projects were restructured:

* AndroidManifest.xml => app\src\main\AndroidManifest.xml
* assets\ => app\src\main\assets
* libs\commons-net-3.3.jar => app\libs\commons-net-3.3.jar
* res\ => app\src\main\res\
* src\ => app\src\main\java\

Next Steps:
-----------
You can now build the project. The Gradle project needs network
connectivity to download dependencies.

Bugs:
-----
If for some reason your project does not build, and you determine that
it is due to a bug or limitation of the Eclipse to Gradle importer,
please file a bug at http://b.android.com with category
Component-Tools.

(This import summary is for your information only, and can be deleted
after import once you are satisfied with the results.)

Upvotes: 10

Views: 21915

Answers (5)

reza rayatnia
reza rayatnia

Reputation: 91

First u must add require dependency to builde.gradle (module):

implementation 'com.google.android.material:material:1.1.0'

next, change AppStyle in style.xml to:

style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar"

I hope that solves your problem.

Upvotes: 0

Paraskevas Ntsounos
Paraskevas Ntsounos

Reputation: 1777

Your compile SDK version MUST match the support library. so here is an example with latest version. Do something similar with yours or update to the latest version (recommended) like below:

1.In your Build.gradle change:

implementation 'com.android.support:appcompat-v7:28.0.0'

2.Change compileSdkVersion and buildToolsVersion to:

compileSdkVersion 28
buildToolsVersion "28.0.3"

3.Update Project gradle file:

classpath 'com.android.tools.build:gradle:3.4.1'

And i suggest you to update all your dependencies in your project in the latest version, i would help you more if you provide us gradle files. Hope this help you.

Upvotes: 19

vida
vida

Reputation: 4499

Make sure you have this in your dependencies:

  • if you're using androidx

implementation 'com.google.android.material:material:1.0.0'

  • else

implementation 'com.android.support:design:28.0.0'

Also, check your application's gradle file if it includes google() under repositories section:

allprojects {
    repositories {
      google()
      jcenter()
    }
  }

See https://material.io/develop/android/docs/getting-started/ for more details.

Upvotes: 1

v4570
v4570

Reputation: 490

You can also try and clean the project in android studio. Sometimes that helps.

Build -> Rebuild Project

Upvotes: 1

Kashif
Kashif

Reputation: 88

Take a look at this, could be an issue of support libraries not getting imported

Upvotes: 0

Related Questions