我是安卓开发的初学者,所以这可能有我不知道的简单解决方案。
我已经将 android 工作室更新到较新版本 (1.5.1),并且从旧版本构建我的项目有一些复杂性。所以首先我运行构建并在这里得到塞子:
警告:与依赖项"com.android.support:support-annotations"冲突。应用 (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
但是后来我重新运行构建,真正的问题开始了:
如果文件resvalues-v11values-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")。
现在我做了研究,根据更新支持库 23.2.0 构建错误,我应该只用其新文件名重命名资源,但文件已生成,不应更改,重建后它被重新生成,所以我似乎无法摆脱这种麻烦。
感谢您的任何帮助。
解决方案是将此外部库更改为最新版本,支持新支持库 v23.2.0 中的更改
compile ('com.github.afollestad.material-dialogs:core:0.8.5.6@aar')
由于某种原因,它必须手动完成。
23.2.0 解决警告。
androidTestCompile 'com.android.support:support-annotations:23.2.0'
关于这个问题。
错误:(15, 54)没有找到与给定名称匹配的资源(在"android:actionModeCloseDrawable",值为"@drawable/abc_ic_ab_back_mtrl_am_alpha")。
您正在引用私有资源。
正如您可以在谷歌跟踪器中签入的那样,可能的解决方案是以尝试将abc_ic_ab_back_mtrl_am_alpha
的引用更改为样式中的abc_ic_ab_back_material
。