Android 升级到安卓Studio 3.0金丝雀5;IllegalArgumentException:AppCompat不支持当前的主题功能;
我使用Android Studio 3.0 Canary 4运行我的应用程序,但在升级到Canary 5后,该应用程序现在在开始时崩溃:Android 升级到安卓Studio 3.0金丝雀5;IllegalArgumentException:AppCompat不支持当前的主题功能;,android,xml,Android,Xml,我使用Android Studio 3.0 Canary 4运行我的应用程序,但在升级到Canary 5后,该应用程序现在在开始时崩溃: Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloati
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:474)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.bleachr.fan_engine.activities.BaseActivity.setContentView(BaseActivity.java:138)
我已经把范围缩小到我认为加载应用程序样式的问题
当我将此标志设置为true
时,异常会提到windowNoTitle:false
。以下是我能想到的相关xml行:
styles.xml:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item>
</style>
<style name="AppTheme" parent="AppTheme.Base"/>
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
假的
真的
@样式/窗口动画转换
AndroidManifest.xml
<application
...
android:theme="@style/AppTheme"
在gradle.properties
中是否有android.enableapt2=false
?
删除它-解决问题
看起来像是从金丝雀5开始,aapt1没有正确合并样式项。我已经深入研究了appcompatidelegateimplv9.createSubDecor
和此.mWindowNoTitle
与样式设置的值不匹配:
true
有人在issuetracker.google.com上提出问题吗?目前,我降级到Android Studio 3.0 Canary4,应用程序正在重新工作。。除了Android Studio 3.0 Canary 5在您更新时所做的2个gradle工具更改之外,没有其他更改。我也得到了这些更改。你有没有在gradle插件/android studio上发布过一个问题?谢谢-我会试试看!我在gradle.properties中有一条评论,但这表明另一个库需要它。。所以我可能运气不佳`#enableapt2=false设置来修复以下问题。。当问题解决时删除:``#->``android.enableApt2=false`由于浮点数字中带有逗号/点的aapt问题,我在那里看到了它。但在我的例子中,还有另一个修复方法可以绕过它并重新启用aapt2
// AppCompatDelegateImplV9
private ViewGroup createSubDecor() {
TypedArray a = this.mContext.obtainStyledAttributes(styleable.AppCompatTheme);
// ~~~~ERROR: false returned (ignoring value from xml)
if(a.getBoolean(styleable.AppCompatTheme_windowNoTitle, false)) {
this.requestWindowFeature(1);
}