首页 > 代码库 > 【边做项目边学Android】小白会遇到的问题--Appcompat_V7问题

【边做项目边学Android】小白会遇到的问题--Appcompat_V7问题

问题描述:

首先遇到的问题就是adt版本的选择,sdk版本的选择:

adt按非小白朋友说的选了最新的ADT-22.3.0,同时我也把sdk更新到了最新的(嗯,这个要fanqiang,或者找离线包)。很开心啊,觉得可以开始啦,于是新建Android项目,next--》next。。。finish!项目生成!(当然中间要填写东西)



项目建成了,发现Eclipse自动生成了一个奇怪的项目Appcompat_V7项目,再创建一个Android项目时,又会再多出一个appcompat_v7_2,如果再次创建,会以此类推地创建出appcompat_v7_x格式的“多余项目”出来(此情况在ADT升级为22.6.x版本后出现,22.3.x前的版本不会有)。处女座的我看着很是别扭,于是就百度google各种搜啊,终于找到了原因。

问题原因:

ADT在22.3.x版本前没有出现该情况,升级为22.6.x版本后,才出现该情况,可以猜测是新版本导致。猜测到原因后可以分析下appcompat_v7是用来做什么的,展开appcompat_v7项目,会发现有一个readme.txt文件,双击查看,该文件描述如下:

Library Project including compatibility ActionBar.

This can be used by an Android project to provide
access to ActionBar on applications running on API 7+.

There is technically no source, but the src folder isnecessary
to ensure that the build system works.  Thecontent is actually
located in libs/android-support-v7-appcompat.jar.
The accompanying resources must also be included in theapplication.


字面意思大概可以看出,该项目是一个Library Project, 作用是让你的Android Project 在API7+的sdk版本(即Android2.1版本)可以访问ActionBar的API,ActionBar相当于用户界面的操作栏,具体ActionBar的解释可以参考:http://developer.android.com/guide/topics/ui/actionbar.html。所以从中可以看出多出这个project是为了兼容低版本的sdk

解决方法:

方法一、由于这个项目是为了兼容低版本速sdk生成的,那么只要在新建项目时将最低版本都选为Android4.0以上即可;

方法二、不是在adt更新到22.6.x版本后才出现的码,22.3.x前的版本不会有,好那就放弃新版本,换回老版本22.3.x。

当然,问题不会就这么轻易结束,下回再说。

参考:

http://blog.sina.com.cn/s/blog_9653ee0f0101jeaf.html


【边做项目边学Android】小白会遇到的问题--Appcompat_V7问题