Gradle build:资源android:style / TextAppearance.Material not found

时间:2018-06-01 11:13:49

标签: android android-studio android-gradle

我刚刚安装了AndroidStudio并导入了一个旧的Eclipse ADT项目(API级别18)。但是,在尝试在AndroidStudio中构建此项目时,我收到以下错误:

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.    

如何修复此错误?我应该提供哪些进一步的信息?

这是导入协议,如果它有帮助:

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.)

5 个答案:

答案 0 :(得分:11)

您的编译SDK版本 必须匹配支持库。所以这是一个最新版本的例子。做与您类似的事情或更新到最新版本(推荐),如下所示:

1.在Build.gradle更改:

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

2.将compileSdkVersion和buildToolsVersion更改为:

compileSdkVersion 28
buildToolsVersion "28.0.3"

3.Update Project gradle文件:

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

我建议您在最新版本中更新项目中的所有依赖项,如果您提供gradle文件,我会帮助您更多。希望这能帮助你。

答案 1 :(得分:0)

看看this,可能是支持库无法导入的问题

答案 2 :(得分:0)

您也可以在android studio中尝试清理项目。有时候会有所帮助。

Build -> Rebuild Project

答案 3 :(得分:0)

确保您的依赖项中包含此内容:

  • 如果您使用的是androidx

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

  • 其他

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

此外,请检查您的应用程序的gradle文件是否在存储库部分下包含google()

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

有关更多详细信息,请参见https://material.io/develop/android/docs/getting-started/

答案 4 :(得分:0)

首先,您必须向builde.gradle(模块)添加require依赖项:

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

下一步,将style.xml中的AppStyle更改为:

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

我希望能解决您的问题。