我在尝试同步 gradle 时遇到了一些错误。我对 Android 编码非常陌生。
Gradle 控制台
Executing tasks: [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar]
Configuration on demand is an incubating feature.
:clean
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild
:app:compileDebugAidl
:app:compileDebugRenderscript UP-TO-DATE
:app:checkDebugManifest
:app:generateDebugBuildConfig
:app:prepareLintJar UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources
:app:createDebugCompatibleScreenManifests
:app:processDebugManifest
:app:splitsDiscoveryTaskDebug
:app:processDebugResources
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/roundSelector (aka com.example.adend.timetable:attr/roundSelector)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles_parent.xml","position":{"startLine":32,"startColumn":4,"startOffset":1268,"endLine":59,"endColumn":12,"endOffset":2471}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/rectSelector (aka com.example.adend.timetable:attr/rectSelector)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles_parent.xml","position":{"startLine":32,"startColumn":4,"startOffset":1268,"endLine":59,"endColumn":12,"endOffset":2471}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/rectSelectorStrong (aka com.example.adend.timetable:attr/rectSelectorStrong)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles_parent.xml","position":{"startLine":32,"startColumn":4,"startOffset":1268,"endLine":59,"endColumn":12,"endOffset":2471}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/defaultFooterColor (aka com.example.adend.timetable:attr/defaultFooterColor)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles_parent.xml","position":{"startLine":32,"startColumn":4,"startOffset":1268,"endLine":59,"endColumn":12,"endOffset":2471}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/dividerColor (aka com.example.adend.timetable:attr/dividerColor)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles_parent.xml","position":{"startLine":32,"startColumn":4,"startOffset":1268,"endLine":59,"endColumn":12,"endOffset":2471}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/iconColor (aka com.example.adend.timetable:attr/iconColor)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles_parent.xml","position":{"startLine":32,"startColumn":4,"startOffset":1268,"endLine":59,"endColumn":12,"endOffset":2471}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/toolbarPopupTheme (aka com.example.adend.timetable:attr/toolbarPopupTheme)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles_parent.xml","position":{"startLine":32,"startColumn":4,"startOffset":1268,"endLine":59,"endColumn":12,"endOffset":2471}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/roundSelector (aka com.example.adend.timetable:attr/roundSelector)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles.xml","position":{"startLine":4,"startColumn":4,"startOffset":81,"endColumn":56,"endOffset":133}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/rectSelector (aka com.example.adend.timetable:attr/rectSelector)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles.xml","position":{"startLine":4,"startColumn":4,"startOffset":81,"endColumn":56,"endOffset":133}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/rectSelectorStrong (aka com.example.adend.timetable:attr/rectSelectorStrong)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles.xml","position":{"startLine":4,"startColumn":4,"startOffset":81,"endColumn":56,"endOffset":133}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/defaultFooterColor (aka com.example.adend.timetable:attr/defaultFooterColor)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles.xml","position":{"startLine":4,"startColumn":4,"startOffset":81,"endColumn":56,"endOffset":133}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/dividerColor (aka com.example.adend.timetable:attr/dividerColor)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles.xml","position":{"startLine":4,"startColumn":4,"startOffset":81,"endColumn":56,"endOffset":133}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/iconColor (aka com.example.adend.timetable:attr/iconColor)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles.xml","position":{"startLine":4,"startColumn":4,"startOffset":81,"endColumn":56,"endOffset":133}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027attr/toolbarPopupTheme (aka com.example.adend.timetable:attr/toolbarPopupTheme)\u0027 not found.","sources":[{"file":"C:\\Users\\adend\\AndroidStudioProjects\\Timetable\\app\\src\\main\\res\\values\\styles.xml","position":{"startLine":4,"startColumn":4,"startOffset":81,"endColumn":56,"endOffset":133}}],"original":"","tool":"AAPT"}
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2895: error: style attribute 'attr/roundSelector (aka com.example.adend.timetable:attr/roundSelector)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2896: error: style attribute 'attr/rectSelector (aka com.example.adend.timetable:attr/rectSelector)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2897: error: style attribute 'attr/rectSelectorStrong (aka com.example.adend.timetable:attr/rectSelectorStrong)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2901: error: style attribute 'attr/defaultFooterColor (aka com.example.adend.timetable:attr/defaultFooterColor)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2903: error: style attribute 'attr/dividerColor (aka com.example.adend.timetable:attr/dividerColor)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2904: error: style attribute 'attr/iconColor (aka com.example.adend.timetable:attr/iconColor)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2906: error: style attribute 'attr/toolbarPopupTheme (aka com.example.adend.timetable:attr/toolbarPopupTheme)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2923: error: style attribute 'attr/roundSelector (aka com.example.adend.timetable:attr/roundSelector)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2924: error: style attribute 'attr/rectSelector (aka com.example.adend.timetable:attr/rectSelector)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2925: error: style attribute 'attr/rectSelectorStrong (aka com.example.adend.timetable:attr/rectSelectorStrong)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2929: error: style attribute 'attr/defaultFooterColor (aka com.example.adend.timetable:attr/defaultFooterColor)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2931: error: style attribute 'attr/dividerColor (aka com.example.adend.timetable:attr/dividerColor)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2932: error: style attribute 'attr/iconColor (aka com.example.adend.timetable:attr/iconColor)' not found.
C:\Users\adend\AndroidStudioProjects\Timetable\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2934: error: style attribute 'attr/toolbarPopupTheme (aka com.example.adend.timetable:attr/toolbarPopupTheme)' not found.
error: failed linking references.
Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute aapt
at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
at sun.reflect.GeneratedMethodAccessor397.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:482)
at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:794)
... 47 more
Caused by: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage$1(QueueableAapt2.java:179)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
... 1 more
Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:454)
at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:411)
at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 7s
14 actionable tasks: 11 executed, 3 up-to-date
Build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "com.example.adend.timetable"
minSdkVersion 21
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
ext {
supportLibVersion = '27.0.2'
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "com.android.support:appcompat-v7:$supportLibVersion"
implementation "com.android.support.constraint:constraint-layout:1.0.2"
implementation "com.android.support:support-compat:$supportLibVersion"
implementation "com.android.support:support-core-utils:$supportLibVersion"
implementation "com.android.support:support-core-ui:$supportLibVersion"
implementation "com.android.support:support-media-compat:$supportLibVersion"
implementation "com.android.support:support-fragment:$supportLibVersion"
implementation "com.android.support:support-v13:$supportLibVersion"
implementation "com.android.support:appcompat-v7:$supportLibVersion"
implementation "com.android.support:recyclerview-v7:$supportLibVersion"
implementation "com.android.support:gridlayout-v7:$supportLibVersion"
implementation "com.android.support:cardview-v7:$supportLibVersion"
implementation "com.android.support:palette-v7:$supportLibVersion"
implementation "com.android.support:design:$supportLibVersion"
implementation "com.android.support:support-annotations:$supportLibVersion"
implementation "com.android.support:percent:$supportLibVersion"
implementation "com.android.support:preference-v7:$supportLibVersion"
implementation "com.android.support:preference-v14:$supportLibVersion"
implementation 'com.github.kabouzeid:app-theme-helper:1.3.7'
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
implementation 'com.afollestad.material-dialogs:commons:0.9.6.0'
implementation 'com.afollestad:material-cab:0.1.12'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
styles.xml
<resources>
<style name="Theme.Light" parent="Theme.Base.Light" />
<style name="Theme.Dark" parent="Theme.Base.Dark" />
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
v21/styles.xml
<style name="Theme.Dark" parent="Theme.Base.Dark">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowSharedElementsUseOverlay">false</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
<style name="Theme.Light" parent="Theme.Base.Light">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowSharedElementsUseOverlay">false</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
styles_parent.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Base.Dark" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowActionBarOverlay">true</item>
<item name="windowActionBarOverlay">true</item>
<item name="md_dark_theme">true</item>
<item name="roundSelector">@drawable/round_selector_dark</item>
<item name="rectSelector">@drawable/rect_selector_dark</item>
<item name="rectSelectorStrong">@drawable/rect_selector_strong_dark</item>
<item name="cardBackgroundColor">@color/md_grey_800</item>
<item name="defaultFooterColor">@color/md_grey_900</item>
<item name="dividerColor">@color/md_divider_white</item>
<item name="iconColor">@color/ate_secondary_text_dark</item>
<item name="toolbarPopupTheme">@style/ThemeOverlay.AppCompat</item>
<!-- just in case-->
<item name="colorAccent">@android:color/white</item>
<!-- necessary to find the overflow button later in the layout-->
<item name="android:actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
</style>
<style name="Theme.Base.Light" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowActionBarOverlay">true</item>
<item name="windowActionBarOverlay">true</item>
<item name="md_dark_theme">false</item>
<item name="roundSelector">@drawable/round_selector</item>
<item name="rectSelector">@drawable/rect_selector</item>
<item name="rectSelectorStrong">@drawable/rect_selector_strong</item>
<item name="cardBackgroundColor">@color/md_white_1000</item>
<item name="defaultFooterColor">@color/md_grey_300</item>
<item name="dividerColor">@color/md_divider_black</item>
<item name="iconColor">@color/ate_secondary_text_light</item>
<item name="toolbarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<!-- just in case-->
<item name="colorAccent">@android:color/black</item>
<!-- necessary to find the overflow button later in the layout-->
<item name="android:actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
</style>
<!-- content description is necessary to find the overflow button later in the layout-->
<style name="Widget.ActionButton.Overflow" parent="Widget.AppCompat.ActionButton.Overflow">
<item name="android:contentDescription">@string/abc_action_menu_overflow_description</item>
</style>
</resources>
values.xml 的第一位(字符数有限,但不要担心它没有被触及)
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:ns1="urn:oasis:names:tc:xliff:document:1.2" xmlns:ns2="http://schemas.android.com/tools">
<attr format="reference" name="constraintSet"/>
<attr format="reference" name="drawerArrowStyle"/>
<attr format="dimension" name="height"/>
<attr format="boolean" name="isLightTheme"/>
<attr format="integer" name="layout_constraintBaseline_creator"/>
<attr format="reference|enum"
此外,我在 values.xml 上收到 2 个错误:
URI 未注册
和
无法识别由此 URI 注册的资源
任何帮助将不胜感激!
最佳答案
从你的错误日志看来你是因为
error: style attribute 'attr/roundSelector (aka com.example.adend.timetable:attr/roundSelector)' not found.
所以请检查这个
@drawable/round_selector_dark
你的 drawable 中是否有这个 round_selector_dark。
有多个错误,所有错误都与您的style.xml
有关所以请仔细检查您的 style.xml 元素。
关于未找到同步样式属性时出现 Android gradle 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47936292/
我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我希望我的UserPrice模型的属性在它们为空或不验证数值时默认为0。这些属性是tax_rate、shipping_cost和price。classCreateUserPrices8,:scale=>2t.decimal:tax_rate,:precision=>8,:scale=>2t.decimal:shipping_cost,:precision=>8,:scale=>2endendend起初,我将所有3列的:default=>0放在表格中,但我不想要这样,因为它已经填充了字段,我想使用占位符。这是我的UserPrice模型:classUserPrice回答before_val
我有一大串格式化数据(例如JSON),我想使用Psychinruby同时保留格式转储到YAML。基本上,我希望JSON使用literalstyle出现在YAML中:---json:|{"page":1,"results":["item","another"],"total_pages":0}但是,当我使用YAML.dump时,它不使用文字样式。我得到这样的东西:---json:!"{\n\"page\":1,\n\"results\":[\n\"item\",\"another\"\n],\n\"total_pages\":0\n}\n"我如何告诉Psych以想要的样式转储标量?解
我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah
我正在为一个项目制作一个简单的shell,我希望像在Bash中一样解析参数字符串。foobar"helloworld"fooz应该变成:["foo","bar","helloworld","fooz"]等等。到目前为止,我一直在使用CSV::parse_line,将列分隔符设置为""和.compact输出。问题是我现在必须选择是要支持单引号还是双引号。CSV不支持超过一个分隔符。Python有一个名为shlex的模块:>>>shlex.split("Test'helloworld'foo")['Test','helloworld','foo']>>>shlex.split('Test"
我有一个具有一些属性的模型:attr1、attr2和attr3。我需要在不执行回调和验证的情况下更新此属性。我找到了update_column方法,但我想同时更新三个属性。我需要这样的东西:update_columns({attr1:val1,attr2:val2,attr3:val3})代替update_column(attr1,val1)update_column(attr2,val2)update_column(attr3,val3) 最佳答案 您可以使用update_columns(attr1:val1,attr2:val2
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我有这个html标记:我想得到这个:我如何使用Nokogiri做到这一点? 最佳答案 require'nokogiri'doc=Nokogiri::HTML('')您可以通过xpath删除所有属性:doc.xpath('//@*').remove或者,如果您需要做一些更复杂的事情,有时使用以下方法遍历所有元素会更容易:doc.traversedo|node|node.keys.eachdo|attribute|node.deleteattributeendend 关于ruby-Nokog