当前位置: 首页 > 知识库问答 >
问题:

Android App+库与appcompat版本冲突

通京
2023-03-14

我正在开发一个应用程序app和一个库(Android模块)lib。它们在不交互时没有问题:在导入库后,Android Studio搞乱了build.gradle设置,我无法恢复。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "it.mydomain.myapp"
        minSdkVersion 19
        targetSdkVersion 19
        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:21.0.3'
     compile project(':mylib.mydomain.it')
}
apply plugin: 'com.android.library'

android {
    compileSdkVersion 19
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug {
            debuggable true
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.android.gms:play-services:6.5.87'
}
Error:(50, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

Error:(1) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'.

Error:(1) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Caption'.

和其他98个类似的:都与主题问题有关。

还有其他消息引用值v11v14,例如:

/.../build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/values-v11/values.xml
Error:(50, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(50, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(50, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(50, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
/.../build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/values-v14/values.xml
Error:(9, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(9, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(9, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(9, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
/.../build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/values-v21/values.xml
Error:(1) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'.
Error:(1) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Body1'.
Error:(1) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Body2'.

共有1个答案

公羊学义
2023-03-14

'com.android.support:appcompat-v7:21.0.3'需要API 21。

您必须用API21编译您的项目。使用:

compileSdkVersion 21
 类似资料:
  • 我正在尝试使用NuGet Package Manager控制台将更改部署到数据库。当我发出命令时,该命令失败,并显示一条错误消息: 我的项目目标。NET 4.5.2,据我所知,它提供了在版本。因此,关联库不会放在二进制输出目录中。当我下载版本(Nuget包版本4.3.2)并将其复制到二进制输出目录,以及我的DLL时,我会收到另一条错误消息: 在这两种情况下,例外情况都是并将其抛出到Microsof

  • 我创建了一个android库模块,并将其托管在我的Github上。但是,该库与Android Studio项目的图标和版本冲突。当附加到我的Android项目gradle时,会显示以下错误: 清单合并失败:属性元数据#android.support.VERSION@value值=(25.3.1)来自[com.android.support: cardview v7:25.3.1]Androidan

  • 我正在用SDK 28创建一个新的android项目,当项目完成创建时,我在MainActivity中出现了一个错误。 我尝试了一些方法: 清洁项目 清理Android Studio缓存 清理Gradle缓存 重新安装的 IDE 文件- 删除 .idea 文件夹 重新启动Android Studio。 Android Studio关于: build.gradle(模块:应用程序) MainActiv

  • 问题内容: 在构建具有许多依赖项的Maven项目时,其中一些依赖项依赖于同一库,但使用的版本不同,这会在运行应用程序时导致错误。 例如,如果我添加两个不同的项目依赖项,A和B都依赖于apachecommonshttp客户端,但每个依赖于不同版本,则一旦类加载器加载了A的apachecommons http客户端类,B就会尝试使用它们,因为它们已经由类加载器加载。 但是B的字节码取决于所加载类的不同

  • 问题内容: 作为测试项目,我使用wsdl和jax- ws创建了一个非常简单的WebService。如果客户端作为GlassFish中的Web应用程序部署,则客户端运行得很好,但是如果我直接在Eclipse中启动相同的(WebService-)代码,则会收到以下错误: 经过研究,我发现它与某些版本的库文件有一定关系。所以现在我的问题是,如何才能“修复” Eclipse Java执行以正确运行我的We