ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

在为Android 2.3及更高版本实现Action Bar支持v7库时,应用程序崩溃

2019-06-25 00:13:37  阅读:143  来源: 互联网

标签:android android-actionbar android-support-library android-actionbar-compat


我已经在Eclipse中成功创建了一个应用程序,它适用于Android 4.0及更高版本.现在我想让它兼容Android 2.3及更高版本.在我的应用程序中,我使用了操作栏,因此我在工作区的工作集中添加了android-support-v7-appcompat库项目.遵循http://developer.android.com/tools/support-library/setup.html指令后,现在我的项目Android私有库部分中有’android-support-v7-appcompat.jar’和’android-support-v4.jar’.我还有我的项目的libs文件夹下的jar文件.

在我的主要活动中,我已导入:

import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;

在AndroidManifest.xml文件中,我声明了:

<application android:allowBackup="true" 

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

此外,对于不同的活动,声明为:

 <activity android:
                 android:uiOptions="splitActionBarWhenNarrow"

以前我的AndroidManifest.xml是这样的:

<application android:allowBackup="true" 

        android:theme="@style/<theme>"

和res> values文件夹下的styles.xml是这样的:

    <resources xmlns:android="http://schemas.android.com/apk/res/android">

       <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
       -->
       <style name="<base>" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
        </style>

        <!-- Application theme. -->
       <style name="<theme>" parent="<base>">
        <!-- All customizations that are NOT specific to a particular API-level can go      here. -->
    </style>

</resources>

用过的

  <style name="<base>" parent="android:Theme.Holo.Light">
            <!-- API 11 theme customizations can go here. -->
        </style> 

在values-v11文件夹和

<style name="<base>" parent="android:Theme.Holo.Light.DarkActionBar">
            <!-- API 11 theme customizations can go here. -->
        </style> 

在values-v14文件夹中.

我现在已将库项目中的所有styles_base.xml和themes_base.xml文件包含到我的项目中.还通过替换Theme来更改styles.xml文件.

每次我运行应用程序时,我都会面临崩溃,现在甚至是4.0及更高版本的Android版本.消息:

 java.main.NoClassDefFounderError: android.support.v7.appcompat.R$styleable
    at android.support.v7.app.ActionBarActivityDelegate.onCreate

请帮忙.

解决方法:

确保在项目属性 – >中检查兼容性库. Java构建路径 – >订单和出口部分如下:

否则,它们将不会包含在生成的APK中.

编辑:

我认为你应该重新开始,因为你真的不应该将这些XML从支持lib添加到你自己的项目中.

>从支持lib中删除所有XML和jar
>根据您提供的链接重建新的Android库项目(按照“使用资源添加库”说明)
>将Android库项目添加到您的项目中
>清理和重建项目

标签:android,android-actionbar,android-support-library,android-actionbar-compat
来源: https://codeday.me/bug/20190624/1283100.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有