Android 找不到渐变生成错误样式属性
我试图通过从GitHub签出git将我的项目回滚到以前的版本,但我认为我做得不对。我刚刚删除了本地项目,并在android studio上签出了git地址。但是,gradle无法生成并显示以下消息: 我导航到显示style attr not found的行,并选择find usage,但它显示no usage in this project。我还尝试删除twitter工具包并再次加载,然后加载一个旧版本的版本,这两个版本仍然存在这个问题。如何解决这个问题? 该项目从一开始就是使用安卓studio 3.0 canary构建的。这是app gradle文件:Android 找不到渐变生成错误样式属性,android,android-studio,gradle,Android,Android Studio,Gradle,我试图通过从GitHub签出git将我的项目回滚到以前的版本,但我认为我做得不对。我刚刚删除了本地项目,并在android studio上签出了git地址。但是,gradle无法生成并显示以下消息: 我导航到显示style attr not found的行,并选择find usage,但它显示no usage in this project。我还尝试删除twitter工具包并再次加载,然后加载一个旧版本的版本,这两个版本仍然存在这个问题。如何解决这个问题? 该项目从一开始就是使用安卓studi
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "..."
minSdkVersion 19
targetSdkVersion 26
versionCode 3
versionName "beta1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:support-v4:26.0.0'
compile 'com.android.support:recyclerview-v7:26.0.0'
compile 'com.twitter.sdk.android:twitter:3.1.0'
compile 'com.jakewharton:butterknife:8.7.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.8.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
annotationProcessor 'com.github.bumptech.glide:glide:3.7.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
implementation 'com.android.support:appcompat-v7:26.0.0'
implementation 'com.android.support:design:26.0.0'
}
和另一个生成文件:
buildscript {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha9'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是主题和风格的问题。可能您的某个库希望该样式可用,但却找不到它。请参见此处,了解如何填写可能适合您的特定属性 根据谷歌的差异,这一资源似乎是在2013年引入的
更改themes.xml,然后从清单中使用它,或者更改styles.xml,如果操作不当,可能会导致这些副作用。将首选项支持库v7依赖项添加到Gradle解决了我的一个问题。它支持@style/PreferenceThemeOverlay缺少的属性 将以下行放到build.gradle模块中:
com.android.support:preference-v7:27.1.1
如果将主题样式与parent=“android:theme.DeviceDefault”一起使用,则应使用
<item name="android:windowActionBar">false</item>
false
而不是
<item name="windowActionBar">false</item>
false
或者将主题样式从“android:theme.DeviceDefault”更改为“theme.AppCompat.Light.DarkActionBar”,这也可能解决其他一些样式问题。2020更新:不幸的是,他们似乎还没有解决这个问题,所以解决方案是简单地降级渐变版本。例如,将其更改为:
classpath'com.android.tools.build:gradle:3.6.3'
到
classpath'com.android.tools.build:gradle:3.5.1'
它会工作。您可以尝试一个
构建/清理项目
,然后重新启动文件/无效缓存
?原因是,如果存在合并/生成的XML和来自git的外部更新,则生成的XML可能引用了此回滚版本中来自上游的类。某些XML文件已丢失,并且不会生成引用错误。我想我在合并时选择了错误的基本分支。非常感谢@DavidDrawson这真是太蠢了…我相信大多数人都不会遇到这个…但是我的attr名字有一个拼写错误,所以后来我拼写正确时没有找到它。。是的,这是一个主题问题。我有一个未使用的样式引用了库中的私有颜色属性。删除了样式,现在效果很好。非常感谢@法比奥,你能看看我的问题吗?这对我很有帮助,我使用了其他版本,但使用AndroidX//Java语言实现“AndroidX.preference:preference:1.1”//Kotlin实现”AndroidX.preference:preference ktx:1.1.1“这对我不起作用。从3.6.0升级到gradle版本4.1.1时,我面临类似的问题。对我来说,错误是-AAPT:error:style属性“android:attr/contextPopupMenuStyle”未找到。我认为我们可以做点什么来解决这个问题,而不是降级(或者在我的情况下不更新)来解决这个问题,不是吗?