java.lang.IllegalStateException : You need to use a Theme. AppCompat 主题(或后代)与此 Activity

标签 java android jenkins android-appcompat

我在尝试运行我的 android 应用程序时遇到此错误。

奇怪的是:只有在使用 Jenkins 构建(并签名)android 应用程序时才会发生这种情况。

当我使用 eclipse 中的本地 apk 文件并将其推送到我的设备(或模拟器)时,一切正常

有什么想法吗?

编辑: AndroidManifest.xml

<application
    android:name="at.my.test.App"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyActionBarTheme" >
    <activity
        android:name="SplashActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="LoginActivity"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="stateHidden" >
    </activity>
    <activity
        android:name="MyFirstActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="MySecondActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="MyThirdActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="WebActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="ErrorActivity"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
    </activity>
</application>  

还有 themes.xml 文件:

<style name="MyActionBarTheme" parent="@style/Theme.AppCompat">

    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:homeAsUpIndicator">@drawable/ic_up_arrow</item>
    <item name="android:windowActionBar">true</item>
    <item name="android:windowBackground">@android:color/white</item>
    <item name="android:windowContentOverlay">@null</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="homeAsUpIndicator">@drawable/ic_up_arrow</item>

</style>

<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">

    <item name="android:background">@color/my_highlight</item>

    <!-- Support library compatibility -->
    <item name="background">@color/my_highlight</item>

</style>

最佳答案

希望这能帮助您解决问题。 (我对Jenkins不熟悉。)请把这个属性放到Manifest中的Activity(其中你使用了Actionbar/Drawer)

android:theme="@style/Theme.AppCompat"

关于java.lang.IllegalStateException : You need to use a Theme. AppCompat 主题(或后代)与此 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21331836/

相关文章:

java - 使用 RecyclerView 适配器在运行时更改布局屏幕

maven - Jenkins Maven 发布 : Replace Snapshot Dependencies

node.js - 通过 npm install 在 Docker 容器中访问私有(private) git repos

java - Java 编程新手

java - Java-ee 中的串行执行

java - 类设计 : Threading inside class or outside

jenkins - Blue Ocean 管道没有 "Build Triggers"选项

java - 半偶数舍入

在多部手机上进行 Android 测试?

android - EditText无法更改文字颜色