关于Eclipse创建Android项目时,会多出一个appcompat_v7
来源:互联网 发布:木制玩具设计软件 编辑:程序博客网 时间:2024/04/30 15:39
问题描述:
使用eclipse创建一个Android项目时,发现project列表中会多创建出一个appcompat_v7项目,再创建一个Android项目时,又会再多出一个appcompat_v7_2,如果再次创建,会以此类推地创建出appcompat_v7_x格式的“多余项目”出来(此情况在ADT升级为22.6.x版本后出现,22.3.x前的版本不会有)
查明原因:
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 is necessary
to ensure that the build system works. The content is actually
located in libs/android-support-v7-appcompat.jar.
The accompanying resources must also be included in the application.
字面意思大概可以看出,该项目是一个Library Project, 作用是让你的Android Project 在API 7+的sdk版本(即Android2.1版本)可以访问ActionBar的API,ActionBar相当于用户界面的操作栏,具体ActionBar的解释可以参考:。所以从中可以看出多出这个project是为了兼容低版本的sdk,那我们创建的Android项目是如何引用这个类库项目呢?通过右键点击Android项目---->Properties-->Android,可以查看到该类库项目已被引用进来了
原因已查明,可以验证一下:
首先创建一个Android项目,在选择Android版本号的界面,如果选择的最低Android版本的"大版本号”小于编译时采用的Android大版本号时,就需要考虑版本兼容问题,这样子创建出项目后自然就会产生出appcompat_v7这个类库项目出来。具体界面如下图,如果编译时采用4.3版本,选择最低要求版本号为2.x或者3.x时创建出来的项目就会自动创建appcompat_v7支持库。
疑问:
可以不产生appcompat_v7这个类库项目吗?答案是可以的,只要版本号选择时最低要求版本和编译时用的版本选择同一种即可,但不推荐这么干,开发Android程序需要考虑兼容多个版本
补充:
关于Library Project的相关内容,可以通过查看官方文档介绍,具体查看:#v4
找到 v7 appcompat library 的解释:内容如下:
This library adds support for the Action Bar user interface design pattern.
Note: This library depends on the v4 Support Library. If you are using Ant or Eclipse, make sure you include the v4 Support Library as part of this library's classpath.
Here are a few of the key classes included in the v7 appcompat library:
This library is located in the <sdk>/extras/android/support/v7/appcompat/ directory after you download the Android Support Libraries. This library contains user interface resources. To include it in your application project, follow the instructions for adding libraries with resources.
The Gradle build script dependency identifier for this library is as follows:
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
- Eclipse 创建 Android项目,会多出一个 appcompat_v7 的问题
- 关于eclipse创建Android项目,会多创建一个appcompat_v7项目的问题
- 创建一个Android项目就会自动创建一个appcompat_v7
- eclipse创建android项目时会多出一个appcompat_v7的问题
- 关于使用eclipse创建Android程序时会多出一个appcompat_v7
- eclipse创建项目时出现appcompat_v7包及解决办法
- Eclipse开发时自动创建appcompat_v7项目总是报错
- 关于Android新版ADT创建项目时出现appcompat_v7的问题
- 关于新版ADT创建项目时出现appcompat_v7的问题
- 关于新版ADT创建项目时出现appcompat_v7的问题
- 安装程序无法打开注册表项unknown\components\...
- SRM 622
- Win2003--DELPHI安装后只有一个控件面板[standard] Delphi中打开project/options 出错
- 【影视世界】序列之25 【有招没招之爱情达人】教会了我们什么?
- hbase建索引的两种方式
- 关于Eclipse创建Android项目时,会多出一个appcompat_v7
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- cocos2d-x存储CCpoint
- mysql监控工具实战
- 数字框
- 安装及配置eaccelerator-0.9.5加速PHP-5.2.1
- 关于ARMv8另外几个问题
- 浅析linux 下的/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件
- csdn精华目录 (技术实现,底层原理,值得关注的开发者)