更新支持库

时间:2016-03-05 13:48:22

标签: android android-support-library android-appcompat

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

我已经将android studio更新为更新的版本(1.5.1),并且我从旧版本构建我的项目时遇到了一些问题。所以首先我在这里运行构建并获得限制:

  

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

这是我的gradle文件:

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

然后我重新运行构建并开始真正的问题:

如果文件\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 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

您可以使用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