我试图通过从GitHub checkout git来将项目回滚到以前的版本,但我认为我的方法不对。我只是删除了本地项目并 checkout 了android studio上的git地址。然而,gradle无法构建并显示以下消息:
我导航到显示style attr not found的行,然后选择find usage,但是它显示在这个项目中没有使用。我还尝试删除twitter工具包并再次加载它,然后加载一个旧版本,两者都仍然有这个问题。如何修复这个问题?
该项目从一开始就使用Android Studio 3.0 Canary构建。这是应用程序Gradle文件:
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
}
5条答案
按热度按时间hmmo2u0o1#
这是主题和样式的问题。可能你的库中有一个期望样式可用,但是没有找到。请看这里Cant set Android Actionbar Background correctly,作为如何填充可能适合你的特定属性的指南。
根据google的diffs here https://android.googlesource.com/platform/tools/base/+/f5215ae4712f468568b58c20baadd14b769c10c4%5E!/,这个资源似乎是在2013年引入的
更改themes.xml,然后从清单中使用它,或者更改styles.xml,如果操作不当,可能会导致这些副作用。
9q78igpj2#
将偏好支持库v7依赖项添加到Gradle为我解决了一个问题。它支持@style/PreferenceThemeOverlay的缺失属性。
将以下行添加到您的build.gradle模块:
com.android.support:preference-v7:27.1.1
n9vozmp43#
2020年更新:不幸的是,他们似乎还没有解决这个问题,所以解决方案是简单地降级gradle版本。例如,将其更改为:
classpath 'com.android.tools.build:gradle:3.6.3'
到
classpath 'com.android.tools.build:gradle:3.5.1'
它会起作用的。
5jvtdoz24#
如果您使用parent=“android:Theme.DeviceDefault”的主题样式,则应使用
代替
或者将主题样式从“android:Theme.DeviceDefault”更改为“Theme.AppCompat.Light.DarkActionBar”,也可以解决其他一些样式问题。
3htmauhk5#
错误“AAPT:error:attribute android:style not found”通常发生在您尝试使用的样式或主题与您正在编译的Android版本不兼容时。
要在Material Design组件中使用样式,您需要确保使用的是与您编译时所针对的Android版本兼容的正确版本的Material Design支持库。
请确保您已在build.gradle文件中添加了Material Design支持库的正确依赖项,具体取决于您编译时使用的Android版本。例如,如果您正在针对API 28进行编译,请添加版本28的Material Design支持库依赖项:
此外,请确保您没有在按钮上设置android:style属性,而是使用style属性设置样式:
我希望这有助于解决您所面临的错误。