更新支持库
Updating support library
我是 android 开发的初学者,所以这可能有我不知道的简单解决方案。
我已将 android studio 更新到较新的版本 (1.5.1),但我在从旧版本构建项目时遇到了一些麻烦。所以首先我 运行 在这里建造并获得塞子:
Warning:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.2.0) and test app (23.1.1) differ.
这是我的 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...
以下错误:
Error:(15, 54) No resource found that matches the given name (at 'android:actionModeCloseDrawable' with value '@drawable/abc_ic_ab_back_mtrl_am_alpha').
现在我做了研究,根据 Update support library 23.2.0 build bug 我应该只用新文件名重命名资源,但文件已生成,不应更改,重建后它会重新生成,所以我似乎无法想办法摆脱这个麻烦。
感谢您的帮助。
您可以使用 23.2.0 解决警告。
androidTestCompile 'com.android.support:support-annotations:23.2.0'
关于这个问题。
Error:(15, 54) No resource found that matches the given name (at 'android:actionModeCloseDrawable' with value '@drawable/abc_ic_ab_back_mtrl_am_alpha').
您引用的是 私有资源。
您可以查看 google tracker 一个可能的解决方案是
尝试在您的样式中将 abc_ic_ab_back_mtrl_am_alpha
的引用更改为 abc_ic_ab_back_material
。
解决方案是将此外部库更改为支持新支持库 v23.2.0 中更改的最新版本
compile ('com.github.afollestad.material-dialogs:core:0.8.5.6@aar')
由于某些原因必须手动完成。
我是 android 开发的初学者,所以这可能有我不知道的简单解决方案。
我已将 android studio 更新到较新的版本 (1.5.1),但我在从旧版本构建项目时遇到了一些麻烦。所以首先我 运行 在这里建造并获得塞子:
Warning:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.2.0) and test app (23.1.1) differ.
这是我的 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...
以下错误:
Error:(15, 54) No resource found that matches the given name (at 'android:actionModeCloseDrawable' with value '@drawable/abc_ic_ab_back_mtrl_am_alpha').
现在我做了研究,根据 Update support library 23.2.0 build bug 我应该只用新文件名重命名资源,但文件已生成,不应更改,重建后它会重新生成,所以我似乎无法想办法摆脱这个麻烦。
感谢您的帮助。
您可以使用 23.2.0 解决警告。
androidTestCompile 'com.android.support:support-annotations:23.2.0'
关于这个问题。
Error:(15, 54) No resource found that matches the given name (at 'android:actionModeCloseDrawable' with value '@drawable/abc_ic_ab_back_mtrl_am_alpha').
您引用的是 私有资源。
您可以查看 google tracker 一个可能的解决方案是
尝试在您的样式中将 abc_ic_ab_back_mtrl_am_alpha
的引用更改为 abc_ic_ab_back_material
。
解决方案是将此外部库更改为支持新支持库 v23.2.0 中更改的最新版本
compile ('com.github.afollestad.material-dialogs:core:0.8.5.6@aar')
由于某些原因必须手动完成。