在做项目的时候,想通过ActionBar的方式来实现选项卡,actionbar是在3.0提出来的,为了做到向下兼容,需要引用 android-support-v7-appcompat项目

(由于本人eclipse里面的ADT版本不是22.6.x,所以在创建工程的时候没有生成android-support-v7-appcompat项目,所以需要单独导入此工程)


操作步骤:

(1) 首先需要导入此项目android-support-v7-appcompat

此项目我是从同事那拷贝过来的,因为它的ADT是最新的22.6.x, 在 ${ANDROID_SDK_HOM}\extras\android\support\v7 找到了appcompat 项目

为了省时间我就直接将此项目拷贝过来。

File -> Import -> Android -> Existing Android Code Into Workspace (勾选上 Copy projects into Workspace,方便以后想修改引用项目,对原有不影响,原有的相当于备份)

导入完成后,如果在控制台出现以下类似错误提示:

[2014-12-05 10:52:50 - android-support-v7-appcompat] Unable to resolve target 'android-16'

那么需要修改android-support-v7-appcompat项目目录下的project.properties文件中的target值,以你当前SDK版本为准,我的SDK版本是17,所以就是target=android-17

(这里不建议直接修改这个文件,可通过 选中项目,右键属性 ->Android -> 切换SDK的方式来修改,这样项目会重新加载SDK,重新编译项目,同时project.properties文件中的target会自动被修改的)


(2) 导入完成后,开发项目引用android-support-v7-appcompat

选中开发项目,右键属性 ->左侧 Android -> 右侧的Library 点击Add... -> 选中android-support-v7-appcompat -> Apply -> OK

(3) 创建Activity 继承ActionBarActivity ,发现编译报错,找不到ActionBarActivity类;

检查了Android dependencies是有android-support-v7-appcompat.jar这个jar包的,而且这个jar就是android-support-v7-appcompat 工程libs 目录下的,

同时在android-support-v7-appcompat.jar 里面是的android.support.v7.app是能找到ActionBarActivity的,

我又尝试了直接写 import ,发现只能import android.support.v7.appcompat.R(这是资源),但就是import不了android.support.v7.app

没办法,我只能这样处理了:

(a) 将引用项目的android-support-v7-appcompat 工程libs 目录下的android-support-v4.jar,android-support-v7-appcompat.jar 拷贝到开发项目工程的libs目录下,

覆盖开发项目工程libs目录下的android-support-v4.jar(android-support-v7-appcompat.jar用的是它对应的android-support-v4.jar,所以需要覆盖工程libs目录下的android-support-v4.jar)

(b) 将 android-support-v7-appcompat 工程libs 目录下的android-support-v4.jar,android-support-v7-appcompat.jar删除掉

(c) 重新编译开发项目工程,发现OK了,能引用ActionBarActivity

同时发现Android Private Libraries出现一个android-support-v7-appcompat.jar,原来只有一个android-support-v4.jar


就这样,问题就解决了,但就是不明白之前那样引用工程,为什么使用不了ActionBarActivity,

之前弄别的工程引用外部工程也能正常使用外部工程的某个类的,单就这个android-support-v7-appcompat 工程不行,很奇怪!


更多相关文章

  1. Proguard可以对Android库项目(APKLIB)进行模糊处理吗?
  2. 软件工程应用与实践复习笔记
  3. 最近一年做Android项目过程中,对其的一些注意事项(优化)以及问题
  4. Android小项目之六 apk下载
  5. Say Hello To Android(解析Android项目目录结构)
  6. linux android 如何把android项目打成jar包
  7. 你是哪个级别?(工程师级别划分)
  8. eclipse中修改工程的Android版本
  9. 删除Listview中第一个项目顶部的行

随机推荐

  1. 基于geopandas的空间数据分析——空间计
  2. 怎样在服务器上启用 HTTPS [每日前端夜话
  3. matplotlib绘图的核心原理讲解
  4. matplotlib绘图技巧详解(一)
  5. 异步函数中的异常处理及测试方法 [每日前
  6. Python+Kepler.gl轻松制作酷炫路径动画
  7. Python笔下那些神奇的树
  8. 一文读懂 Kubernetes APIServer 原理
  9. 利用geopandas与PostGIS进行交互
  10. Python中最好用的6个地图可视化库