使用eclipse开发android报错:project has no target set. edit the project properties to set one.-尊龙官方平台

使用eclipse开发android报错:project has no target set. edit the project properties to set one.

el/2024/3/25 17:10:56

使用eclipse开发android报错:project has no target set. edit the project properties to set one.

在使用eclipse开发android时可能会遇到eclipse的报错信息:project has no target set. edit the project properties to set one.其实不是自己的工程由问题,而是由于导入workspace的方式有问题。下面分情况来说明:

1.

workspace目录下没有.metadata文件目录,也没有工程文件,那么直接eclipse直接进入会自动生成.metadata文件夹。

例如,在桌面上没有.metadata文件夹,但是把桌面当成是workspace来进入:

那么会直接在桌面上建立.metadata文件夹。

2.

桌面上有.metadata文件夹。

这个时候情况比较复杂。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如果之前这个workspace有工程但是自己手动删除(直接在windows下的文件系统中删除),那么会出现

的问题,原因很简单,用编程语言来描述就是,我现在有指针(.metadata文件夹中的信息),指向原本存在的某个对象(工程),我把这个对象删除了,但是指针还在,当然访问会出错,就是这个原因。

解决办法:

1.直接把和原来工程名字一样的一个工程考入workspace就可以正常使用:指针还指向那里,对象又有了,正常访问。

2.在eclipse里删除这个工程(这个工程的指针,也就是从.metadata文件里面删除有关的指针信息) :

这样就删除“指针”了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如果之前有.metadata文件,但是没有“指针”,也就是说原来的workspace中没有工程,现在人工手动把一个工程copy到这个workspace中,那么在eclipse直接打开workspace时候不会有工程文件,原因就是:我内存(workspace)中有对象(工程文件),但是没有指针(.metadata文件夹信息)啊!eclipse是从.metadate来读取信息的,没有指针,也就不会显示对应的工程了,也就不能对对应的工程操作了!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

原来workspace就没有工程现在也没有,正常

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

总结以上,就是“指针”、“内存”、“内存中的对象”之间的关系。

3.

言归正传,出现题目中的出错信息,是由于,在当前workspace下存在一个工程,但是它不被.metadata所指向,也就是没有包含在里面,直接import导入工程看似正确,但是实际会出错。

finish确定,就会出现我们标题出现的报错,不仅如此,还会损坏原来存在于workspace的工程文件,里面的 androidmanifest.xml 文件被空文件覆盖了!这是很坏的一件事情,导入工程,把文件损坏了!再次提醒,备份很重要。

解决办法:

把这个工程放在不是workspace这个目录下的任何一个目录中,然后import导入就可以,和正常的一样,虽然看起来感觉怪怪的,明明就在workspace里面,但是不能导入,一旦莽撞地导入还会出错,损坏工程文件。
例如,把这个工程文件放在f盘下,可以在当前的workspace(桌面作为workspace)直接导入工程文件,一切正常。
还有一个解决办法,经过查网上的相关资料得知,直接新建一个和原来一样的工程就可以,eclipse会自动在当前目录下查找是否有与将要新建工程同名的工程文件,如果有,那么直接建立连接(“指针”指向“对象”),如果没有,那么真正新建(“指针”新建,“对象”新建)。

ok!完美导入!

其他:

  1. 在选定某一个文件夹作为workspace时,会在此workspace下自动建立一个叫“.metadata”的文件夹,该文件夹中包含的内容有工程的描述,比如里面包含了有多少个工程,每个工程叫什么名字等一些信息,以及workspace的偏好设置(preferences),比如自己写了一个.epf的文件来设置编辑时的背景颜色,代码颜色等。workspace里面大概就是包括这样子的一些信息,是对于整个workspace的说明以及对于工程的描述。

  2. 实际上将.metadata文件的信息比作“指针”,将workspace比作“内存”,将工程文件比作“内存中的对象”,十分好理他们之间的对应关系。

  3. 在实际做的时候,尽量不要以新建android project来实现导入workspace下存在的工程到eclipse里面,这样有可能会出现字符资源strings.xml文件被清空的可能,应该是以java priject 或者直接 new project 来建立。

  4. 参考blog:http://blog.csdn.net/bcai2/article/details/44279101

http://blog.csdn.net/jiangjinwang/article/details/50552798
为本人之前的博文,此片只是把之前弃用的博文搬到这里。

如上述有不正确之处,敬请指出,谢谢。


http://www.ngui.cc/el/5127193.html

相关文章

lenovo笔记本win8转win7设置详解

lenovo笔记本win8转win7设置详解 笔记本自带系统是win8,用户想要修改成win7,和普通的装系统有一定的区别。 1.需要准备有u盘启动盘和相关的win7镜像. 2.在开机出现lenovo界面的时候迅速按键盘上的f2或者f1可以进入到bios设置界面. 3.修改 boot 中的 …

使用myeclipse开发jsp环境配置详解

使用myeclipse开发jsp环境配置详解 1.jdk环境怎么配置可以到网上查找 2.tomcat 在网上也可以下载到,不再赘述 3.打开myeclipse 4.出现以下界面 5.选择自己的工作空间,我选择的是 c:\users\administrator\desktop[2016-03-07][blog]\workspace 6.点…

模拟实现unix/linux外壳

模拟实现unix/linux外壳 注:本文中的程序代码来自《深入理解计算机系统》一书,非本人原创。 unix/linux中一般工作在文本界面,也就是一个外壳之下,外壳也是一个程序,那么它是怎么实现的呢?本文带你实现一…

c/c 函数后有const关键字进行限定

c/c函数后有const关键字进行限定 我们在声明一个函数时,在其后面添加const关键字进行限定,表明这个函数是“只读”的。 也就是说,这个函数不会(不能)修改任何数据成员。 声明一个const函数很简单,只要在…

c/c 函数形参包含字符以及const

c/c函数形参包含字符&以及const 假定现在有个函数声明: void foo(const int &a) 这里的const以及&有什么作用呢? 考虑如下四种情形: void foo(int a) void foo(const int a) void foo(int &a) void foo(const int &…

centos-7设置开机进入文本界面(不进入图形界面)

centos-7设置开机进入文本界面(不进入图形界面) 默认centos-7安装完毕后会进入图形界面,曾尝试如同centos-6那样直接设置/etc/inittab文件: # default runlevel. the runlevels used are: # 0 - halt (do not set initdefault…

硬链接与软链接(符号链接)

硬链接与软链接(符号链接) 软链接即符号链接。 在unix以及类unix系统中常可以见到这两个概念:软链接、硬链接。 那么什么是软链接,什么是硬链接呢? 首先说下什么是文件。 所谓文件,我个人认为其实就是…

c 中vector find使用

c中vector find使用 不同于map(map有find方法),vector本身是没有find这一方法,其find是依靠algorithm来实现的。 话不多说,上代码: #include #include #include

野指针(悬挂指针)

野指针(悬挂指针) 野指针:一个指针变量指向一个错误的地址,即,这个指针变量中存着的值是一个污数据,是无效的,错误的,无用的。 野指针即悬挂指针。 野指针的核心概念:一个…

linux配置java环境(jdk)

linux配置java环境(jdk) 首先从oracle尊龙官方平台官网下载jdk安装包: 这里给出oracle尊龙官方平台官网:https://www.oracle.com 在哪里下载应该能找到,这些就不赘述了。 注:下述以“#”开头的为我的注释,非执行语句…
网站地图