错误:资源 android:style/TextAppearance.Material.Widget.Button.Borderless.Colored 未找到

2022-09-01 13:19:18

我正在尝试构建一个已编译SdkVersion 25和targetSdkVersion 25的项目,但我需要将两者都更改为23,因此在更改编译SdkVersion 23和targetSdkVersion 23后,我收到错误

错误:资源 android:style/TextAppearance.Material.Widget.Button.Borderless.Colored 未找到。错误:资源 android:style/TextAppearance.Material.Widget.Button.Colored 未找到。错误:链接引用失败。错误:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 错误: 检查日志以获取详细信息 错误:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 错误: 检查详细信息日志 错误:com.android.tools.aapt2.Aapt2Exception: AAPT2 错误: 检查详细信息日志 错误:任务的执行失败 ':app:processDebugResources'.

未能执行 aapt

enter image description here

我是一名iOS开发人员,在Android方面没有太多经验,我无法找到代码中的此错误点以及如何修复。

编辑: 1

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId 'com.abc.app'
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 4
        versionName '1.3'
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        buildConfigField("String", "API_KEY", "\"empty\"")
        //buildConfigField("String", "API_KEY", API_KEY)
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
        exclude 'META-INF/services/com.fasterxml.jackson.core.ObjectCodec'
        exclude 'META-INF/services/com.fasterxml.jackson.core.JsonFactory'
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.wang.avi:library:2.1.3'
    implementation 'com.android.support:appcompat-v7:25.4.0'
    implementation 'com.android.support:customtabs:25.4.0'
    implementation 'com.android.support:cardview-v7:25.4.0'
    implementation 'com.nex3z:toggle-button-group:1.1.2'
    implementation 'com.github.ivbaranov:materialfavoritebutton:0.1.4'
    implementation 'com.android.support:design:25.4.0'
    implementation 'com.android.volley:volley:1.0.0'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
    implementation 'com.yqritc:recyclerview-flexibledivider:1.2.9'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.google.code.gson:gson:2.8.1'
    implementation 'com.github.bumptech.glide:glide:4.3.1'
    implementation 'com.google.android.gms:play-services-ads:11.8.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
    implementation('com.github.fcopardo:easyrest:v1.4.2@aar') {
        transitive = true
    }
    //    compile 'com.github.wrdlbrnft:sorted-list-adapter:0.3.0.27'
    testImplementation 'junit:junit:4.12'
}

答案 1

android:style/TextAppearance.Material.Widget.Button.Borderless.Colored 是在 API 24 中添加的,因此您无法在版本 23 中使用它。您可以使用在版本 23 之前添加的样式。您还可以将新样式应用于较新版本的设备,并将旧样式作为默认值应用:https://developer.android.com/guide/topics/ui/look-and-feel/themes.html#Versions

添加 03/20/'18 12:32

由于您不熟悉Android,因此一个简单的解决方案是仅使用较旧的文本外观。这至少使该应用程序在您的Android 5设备上运行。之后,您可以了解如何进一步自定义TextView,但现在让我们让它工作。

  1. 文本的外观可以设置为布局文件中的某个 TextView,位于 [something]/res/layout/xxx.xml,“layout”也可以是“layout-xxx”。
  2. 它可以在样式文件中设置,位于[某物]/res/values/styles.xml,“values”也可以是“values-xxx”。

文件夹“res”可以从Android Studio的项目树中轻松找到。
您还可以使用 Ctrl+Shift+F 在整个项目中进行搜索。
当您找到它时,只需删除或注释该行即可。


答案 2

问题:在android 26或更高版本中支持colorError,并且此软件包位于23上,但是该软件包可能处于较低版本。

溶液:

在 build.gradle 中添加以下代码。将其放在所有项目中 {

// force libs to use recent buildtools
// https://github.com/luggit/react-native-config/issues/299
subprojects {
    afterEvaluate {
        project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion = 27
                    buildToolsVersion = "27.0.3"
                }
            }
    }
}

推荐