关于新建android项目时 appcompat_v7报错问题的一点总结

说下我的解决方案:

1.确保 appcompat项目的 target版本 低于 实际项目的android版本

2.确保 appcompat的项目编码与eclipse工具的编码一致,我就是犯了这个错误,导致引用appcompat总是失败。。。

我的eclipse环境是utf-8编码, 但是 appcompat项目 新建的时候默认是 gbk编码,右键appcompat项目>>属性>>Resource>>把编码改成utf-8即可

3.确保 你的项目和appcompat类库 在同一个工作空间下  workspace, 如果不在一起 很容易报错。。。。。 这是事实。。。。

下面是摘自网络

一、依赖/脱离appcompat

在新版本中Google跟新了一个依赖包,这个包包含了v4和v7的东西(v7是要依赖v4这个包的,所以用到v7时必须用一起的v4),只要你的编译版本compile with是4.0即以上,那么就会默认依赖这个appcompat包,反正你是没办法脱离它了。如果非要脱离他你可以建立一个编译版本是2.3,2.2之类的应用,这样就不会依赖这个包了。

根据实际经验,我们不可能再去建立一个2.x平台的应用,所以我们必须要好好和这个appcompat相处。于是就应该明白下面几点:

1.appcompat删掉后会出错,新建工程后它会自动生成

2.appcompat会影响你的R文件,你取消依赖的时候很可能丢失R文件。解决方式是将xml文件错误删除或者修改,然后才能重新获得R文件

3.appcompat有自己的属性,如果你定义的attribute属性和它重名了,那么就必须要更换名字。这就是android蛋疼的一点,应该注意。

4.appcompat有自己的编译版本,如果它的版本高,你的程序版本低,这样你在依赖的时候会出现找不到资源的问题。所以请保持一致或者比它编译版本高即可。当然你也可以修改它的编译版本。

二、supportV4包冲突

程序报错说应用中的v4和appcompat中的v4不一致。这个很常见,因为appcompat中经常更新,所以很容易出现不一致。解决思路是解除依赖关系,删除自己的v4,然后进入构建路径->库->删除私有的库,最后重新添加依赖即可。当然关键点是尽量不要让xml文件中出现错误,这样很难重新生成R文件的。

三、appcompat中资源错误

出现这个错误基本上是跟新所致,因为更新了新的资源文件,但你的appcompat编译版本还是旧的,在appcompat属性中提高它的编译版本然后清理下即可解决此问题。但随之而来的是依赖它的工程也会出现这样的问题,也必须提高编译版本。当然你也可以保留之前没升级过的appcompat,具体看情况而定吧。



下面的是开拓思路用的:

以前3.0以前的版本要使用ActionBar,必须使用国外大牛写的ActionBarSherlock这个开源项目。今年的Google/IO大会之后,Google官方在android-support-v7包中添加了ActionBar,开始让2.1以后的版本支持ActionBar,从此以后曾经最火的Android开源项目ActionBarSherlock可以退出历史舞台了。

要是用V7包中ActionBar也很简单,但有一个需要注意的地方。有些人可能刚开始仅仅是把android-support-v7-appcompat.jar导入项目中,但是在设置Activity的theme时会报错,提示找不到"@style/Theme.AppCompat"。这是由于我们要把v7和资源文件一起导入才行。

具体使用步骤(针对于Eclipse):

Create a library project based on the support library code:

  1. Make sure you have downloaded the Android Support Library using the SDK Manager.
  2. Create a library project and ensure the required JAR files are included in the project‘s build path:
    1. Select File > Import.
    2. Select Existing Android Code Into Workspace and click Next.
    3. Browse to the SDK installation directory and then to the Support Library folder. For example, if you are adding theappcompat project, browse to <sdk>/extras/android/support/v7/appcompat/.
    4. Click Finish to import the project. For the v7 appcompat project, you should now see a new project titled android-support-v7-appcompat.
    5. In the new library project, expand the libs/ folder, right-click each .jar file and select Build Path > Add to Build Path. For example, when creating the the v7 appcompat project, add both the android-support-v4.jar andandroid-support-v7-appcompat.jar files to the build path.
    6. Right-click the project and select Build Path > Configure Build Path.
    7. In the Order and Export tab, check the .jar files you just added to the build path, so they are available to projects that depend on this library project. For example, the appcompat project requires you to export both the android-support-v4.jar and android-support-v7-appcompat.jar files.
    8. Uncheck Android Dependencies.
    9. Click OK to complete the changes.

You now have a library project for your selected Support Library that you can use with one or more application projects.

Add the library to your application project:

  1. In the Project Explorer, right-click your project and select Properties.
  2. In the Library pane, click Add.
  3. Select the library project and click OK. For example, the appcompat project should be listed as android-support-v7-appcompat.
  4. In the properties window, click OK.

Once your project is set up with the support library, here‘s how to add the action bar:

  1. Create your activity by extending ActionBarActivity.
  2. Use (or extend) one of the Theme.AppCompat themes for your activity. For example:
    <activity android:theme="@style/Theme.AppCompat.Light" ... >

Now your activity includes the action bar when running on Android 2.1 (API level 7) or higher.

On API level 11 or higher

The action bar is included in all activities that use the Theme.Holo theme (or one of its descendants), which is the default theme when either the targetSdkVersion or minSdkVersion attribute is set to "11" or higher. If you don‘t want the action bar for an activity, set the activity theme to Theme.Holo.NoActionBar.

以上摘自Android官网。

时间: 2024-12-15 01:34:32

关于新建android项目时 appcompat_v7报错问题的一点总结的相关文章

【IDEA】创建maven项目时,报错[FATAL_ERROR] Cannot start Maven: Cannot find JRE &#39;1.7&#39;

在使用IDEA使用maven创建springMVC项目时,出现下面的错误,导致无法创建生成正常的springMVC项目结构,而只有一个pom文件: [FATAL_ERROR] Cannot start Maven: Cannot find JRE '1.7' 原因是:我在默认的setting配置里,File-->Other Setting-->Default Setting对应的maven配置里,设置了runner的VM参数:-DarchetypeCatalog=internal,这里需要用到

初次新建android项目时可能出现的错误

错误1:在新建android项目的时候,自动产生一个appcompat_v7项目,而且可能会报错,解决办法请参照:http://bbs.itcast.cn/thread-25953-1-1.html 错误2:资源文件夹下的png等文件,默认打开方式设置,解决办法请参照: http://zhidao.baidu.com/link?url=3Sh1v-fmz9zCU1VnJuhr-4gc_pg9peCmuaxsqI7bHkLnx-04hiCCngcvl9hC2-zvDphhDnswuuxaMnL1N

Android编译时gradle报错乱码

问题是这样的,代码中有中文,中文是在注释中,显示的时候是完全正常的,然而编译的时候gradle会报错.提示信息其实也是乱码的. 编译时Gradle报错信息 “编码 UTF-8 的不可映射字符” 首先在设置中设置字符集, Settings->File Encodings->IDE Encodeing->UTF-8 Settings->File Encodings->Project Encodeing->UTF-8 如果这样不行的话继续往下看,如果可以了的话下面的步骤忽略就

Eclipse下Maven新建Web项目index.jsp报错完美解决(war包)

Eclipse下Maven新建Web项目步骤 1. 2. 3. 4. 5. 问题描述 最近用eclipse新建了一个maven项目,结果刚新建完成index.jsp页面就报错了,先把错误信息贴出来看看! 解决方法 第一种:直接在pom.xml文件中添加jar包支持 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <

Maven新建webapp项目index.jsp报错

最近用eclipse新建了一个maven项目,结果刚新建完成index.jsp页面就报错了,先把错误信息贴出来看看 后来就找资料,结果发现两种解决办法,希望可以帮助用得上的人! 第一种:直接在pom.xml文件中添加jar包支持 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0&

Eclipse导入android项目包xml报错

查看 res/values/styles.xml 下的报错点. <style name="AppBaseTheme" parent="Theme.AppCompat.Light"> 把这个改成 <style name="AppBaseTheme" parent="android:Theme.Light"> 一波未平.一波又起 路径: res/values-11/styles.xml <style

eclipse新建Android项目时提示AndroidManifest.xml file missing!

最近做一个小的项目时发现刚新建了一个项目失败了,控制台就输出AndroidManifest.xml file missing! 是么R文件都没有.原来是项目名称不能带中文,用英文的就OK了.

eclipse 新建 android 项目时,问题汇总

eclipse.buildId=4.4.0.I20140606-1215java.version=1.8.0_11java.vendor=Oracle CorporationBootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CNFramework arguments: -product org.eclipse.epp.package.jee.productCommand-line arguments: -os win32 -ws

eclipse 导入 新建 Android 项目 报错support.v7 v4

如果只是某一个工程(特别是导入的他人的工程)出问题,解决办法就是增加所缺的jar包. 步骤如下: 1.在Eclipse中,右击当前工程,选择Properties 2.选择Java Build Path 3.选择Libraries tab,点击右边面板的Add External JARs按钮 4.选择android-support-v4.jar文件,在你的andriod的sdk目录下: \android-sdks\extras\android\support\v4\android-support-