原创 坑爹,eclipse新建默认安卓项目居然会出错,需要API11,解决

2015-10-19 10:33 1949 14 14 分类: 软件与OS 文集: 学以致用

坑爹,eclipse新建默认安卓项目居然会出错,需要API11,解决
wxleasyland@sina.com
2015.10

新手菜鸟,WIN7,安装了最新的软件:JDK (版本8u60),eclipse (版本mars1,64bit),ADT插件(版本23.0.6),android SDK基本上全部下载了。

eclipse中,按默认设置建立一个新的ANDROID项目:
 
默认设置是这样的:
minium require SDK: 2.2
target sdk:  我这里是4.X
compile with: 6.0
Theme:Holo Light with Dark Action Bar
Create Activity: 选中 Blank Activity


生成的activity布局是这样的:

主程序mainactivity.java文件是这样的:
 

import android.support.v7.app.ActionBarActivity;,这句中ActionBarActivity是加了删除号的。

但项目可以运行,android 2.2虚拟机模拟器可以正常运行它:
 



出现异常情况:
如果在import 语句后面,打个回车多一行:
 
再保存一下。
就出错了:
 
错误信息如下:
“Call requires API level 11 (current min is 8): android.app.Activity#onCreateView”

运行不了了。这样,想加什么语句都加不了,干什么都干不了。

好像是引用appcompat_v7项目库有问题:
appcompat_v7项目是一个库,是用来支持4.0以下的,支持ActionBar特性。
新的MIN SDK小于ANDROID 4.0的项目,都会与这个库关联起来,在项目上点右键/属性/ANDROID,在LIBRARY上,有appcompat这个库的!这个库没有的话,ADT插件会自动生成它。
而MIN SDK ≥ 4.0以上的,就不需要这个库,不需要与这个库关联。
引用别人:“MIN低于4.0,新建第一个Activity时会自动产生appcompat_v7。删除appcompat_v7是可以的,但是要求最低版本不能低于4.0。为了兼容2.x,appcompat_v7还是要留着的。”

怎么办:
1) appcompat_v7项目的最低支持min 版本太高了?
看了,它的androidmainfest.xml里,有<uses-sdk android:minSdkVersion="7"/>,所以最低是API 7。
不是这个原因。

2) ADT插件版本旧了,处理出错?
但是搜了一下,已经是最新的ADT 23.0.6了。

3) 临时解决:
新建项目时,MIN SDK选 ≥4.0,这样就不会出错了。
再把androidmainfest.xml里:android:minSdkVersion改成="8",这样就可以用2.2的系统的模拟器来运行了。


4) 找到问题所在:
引用:ActionBarActivity是什么?简而言之,ActionBarActivity是support7支持库中的类,可以兼容2.x版本,Activity提供的ActionBar只有在3.0以上才可以用!!!!

因为默认设置是这样的:
minium require SDK: 2.2
Create Activity: 选中 Blank Activity
而Blank Activity解释是“creates a new blank activity with an action bar”,即要创建一个ACTION BAR。  ACTION BAR 又需要MINUM SDK在3.0以上。
所以就冲突了!!!
不是appcompat_v7项目库的问题,而是冲突了!!

解决方法:
MIN SDK选2.2。
Create Activity一定不能选有ACTION BAR的!!!
可以选Empty Activity(解释是“creates a new empty activity”)。
Theme无所谓,选“Holo Light with Dark Action Bar”不影响。
这时mainactivity.java文件中那句话变成:
import android.app.Activity;
这样就不会出错了!!!
这时,这个项目仍关联了appcompat_v7这个库项目的。


哎,坑爹啊,新建项目时给个提示不行么?研究了很久才知道是这样的原因。
还没开始做项目,就已经挂彩了,情何以堪!
 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
14
关闭 站长推荐上一条 /3 下一条