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

问题描述 投票:2回答:4

我刚刚安装了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.)
android android-studio android-gradle
4个回答
12
投票

您的编译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.4.1'

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


0
投票

看一下this,可能是一个没有导入的支持库的问题


0
投票

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

Build -> Rebuild Project

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/

© www.soinside.com 2019 - 2024. All rights reserved.