代码之家  ›  专栏  ›  技术社区  ›  Pastx

更新支持库

  •  0
  • Pastx  · 技术社区  · 9 年前

    我是android开发的初学者,所以这可能有我不知道的简单解决方案。

    我已经将android工作室更新到了新版本(1.5.1),我在从旧版本构建项目时遇到了一些问题。所以,首先我运行build并在这里获取stopper:

    警告:与依赖项“com.android.support:support annotations”冲突。应用(23.2.0)和测试应用(23.1.1)的解析版本不同。

    这是我的毕业文件:

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"
    
        defaultConfig {
            applicationId "hidden"
            minSdkVersion 8
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
            // tests
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile project(':library')
    
        // tests
        androidTestCompile 'com.android.support:support-annotations:23.1.1'
        androidTestCompile 'com.android.support.test:runner:0.4'
        androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
    }
    

    显而易见的解决方案是将版本重写为 23.2.0

    但我重新运行构建,真正的问题开始了:

    if文件 \res\values-v11\values-v11.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="MD_Dark" parent="Theme.AppCompat.Dialog.Alert">
            <item name="android:windowMinWidthMajor">@dimen/abc_dialog_min_width_major</item>
            <item name="android:windowMinWidthMinor">@dimen/abc_dialog_min_width_minor</item>
    
            <item name="md_divider">@color/md_divider_white</item>
            <item name="md_list_selector">@drawable/md_selector_dark</item>
            <item name="md_btn_stacked_selector">@drawable/md_selector_dark</item>
            <item name="md_btn_positive_selector">@drawable/md_btn_selector_dark</item>
            <item name="md_btn_neutral_selector">@drawable/md_btn_selector_dark</item>
            <item name="md_btn_negative_selector">@drawable/md_btn_selector_dark</item>
    
            <item name="android:actionModeBackground">@color/primary_material_dark</item>
            <item name="android:actionModeCloseDrawable">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
    
            <item name="android:windowAnimationStyle">@style/MD_WindowAnimation</item>
            <item name="android:backgroundDimEnabled">true</item>
        </style>file continues...
    

    以下错误:

    错误:(15,54)未找到与给定名称匹配的资源(位于“android:actionModeCloseDrawable”,值为“@drawable/abc_ic_ab_back_mtrl_am_alpha”)。

    现在我做了我的研究,根据 Update support library 23.2.0 build bug 我应该用它的新文件名重命名资源,但文件是生成的,不应该更改,重建后会重新生成,所以我似乎找不到解决这个问题的方法。

    谢谢你的帮助。

    2 回复  |  直到 7 年前
        1
  •  2
  •   Pastx    9 年前

    解决方案是将此外部库更改为支持新支持库v23.2.0中更改的最新版本

    compile ('com.github.afollestad.material-dialogs:core:0.8.5.6@aar')
    

    出于某种原因,它必须手动完成。

        2
  •  1
  •   Gabriele Mariotti    9 年前

    您可以使用23.2.0解决该警告。

    androidTestCompile 'com.android.support:support-annotations:23.2.0'
    

    关于这个问题。

    错误:(15,54)未找到与给定名称匹配的资源(位于“android:actionModeCloseDrawable”,值为“@drawable/abc_ic_ab_back_mtrl_am_alpha”)。

    您指的是 私人资源 .

    正如您可以在 google tracker 一个可能的解决方案是 尝试更改的引用 abc_ic_ab_back_mtrl_am_alpha abc_ic_ab_back_material 以你的风格。