Eclipse的常见使用错误及编译错误

(1)导入工程时出现:Error generating final archive: Debug Certificate

        这样的编译错误是由于新版的Android SDK调试key有1年的试用期限制,如果当年电脑的Android SDK安装了一年后会出现这样的问题,解决的方法只需要删除早期的key文件即可,系统默认的key文件在Eclipse的Window菜单的Preferences => Android => Build菜单下其中Default debug keystore可以看到。

        比如当前使用的Windows XP系统下为可能为 C:\Documents and Settings\用户名\.android\debug.keystore,只需要删除debug.keystore文件即可,Eclipse的ADT插件会在下次编译时自动生成一个调试版的密钥使用期限仍然为1年,但手机上一定别忘了删除老版本的程序,否则会提示Re-installation failed due to different application signatures这样的签名错误。

(2)IMPORT工程时出现:Select at least one project

         这个错误出现在import一个工程的时候,选择select all的时候提示有个同名工程。这个错误的原因是Eclipse工具在后台打开了一个同名的工程,将它关掉即可。方法是:windows->show view->project explorer。

(3)建立AVD时出现:Unable to find a 'userdata.img' file for ABI armeabi to copy into the AVD folder

        原因是Android SDK Manager没安装完全,就是少安装了ARM EABI V7A system image,安装上就好了。


(4)点击打开ECLIPSE时出现一个大的提示画面,有JVM EXIT CODE = -1,还有什么要求的JAVA版本号提示。原因很奇怪,当我把JAVA版本装成1.5之后,仍然会提示要求1.5的版本;当我装成1.6之后,把eclipse.ini的最后一句-Xmx1024m改成-Xmx512m,就可以正常打开并导入安卓工程了。

(5)用ECLIPSE的DDMS连接目前平台调试时,PUSH内容失败,提示只读系统,使用adb remount即可。

(6)用ECLIPSE的DDMS连接目前平台调试时,PUSH内容失败,提示Out of memory,方法如下:use the command first: $emulator -avd youravdname -partition-size 128 。Then  the problem maybe resolved.

(7)在DDMS中调试时,拷出拷入文件时,出现错误:Failed to pull selection 或者Failed to push the item(s)。重新连接虚拟机试试。

(8)import一个工程时,出现:Project has no default.properties file! Edit the project properties to set one.那我们怎么解决这个错误呢?有两个方法:1、到其他工程里把这个default.properties文件拷贝过来直接用(这时候如果发现工程还是有错误的话就把工程重新导入一下,一般可以解决的);2、还有一个超级简单的方法哈,那就是把project.properties文件重命名一下就改成default.properties名称就OK。
(9)当把一个CODE工程拷贝入workspace后,import这个工程时,出现以下的错误提示:

                                    

提示overlap,则只要勾选下方的“copy projects into workspace”即可解决。

(10)运行一个载入的工程时,出现:Unable to resolve target 'android-12'的提示,则说明该工程建立时的API版本跟当前ECLIPSE中AVD带的版本不一致,解决方法就是:把工程中的default.properties的内容# Project target. target=android-8的值改成一个支持的API版本,刷新后就可以了。之后,也可以在工程浏览窗口中看见载入的安卓API包。

(11)编译工程时,如果提示对话框“java heap”的问题,需要修改eclipse.ini中分配内存的大小,这种情况也会出现在添加了某些自定义jar之后出现。如果修改了eclipse.ini,可能会导致启动eclipse提示启动VM异常,这时确保在文件开头有VM路径:

-vm
C:\Program Files\Java\jdk1.7.0_05\bin\javaw.exe

(12)如果使用eclipse时发现Logcat的信息消失太快,不方便查看。可以把logcat的缓存数改大就好了,方法是window->preferences->Android->Logcat,默认是5000,我改大成立了50000。

(13)如果有时候需要修改应用的包名,不管是源码包还是属性文件中用到的,可以参考文章http://www.2cto.com/kf/201304/206747.html。这样的话eclipse可以帮你完成,手动来做是相当头疼的。(未验证)

===============================================编译及运行错误===========================

(1)一运行APK时,就出现异常退出,LOGCAT提示“java.lang.VerifyError”。
这种一般反映是jar错误,说重加载jar后就好。后来我在该错误提示的前面部分发现提示一些类有问题,在工程中重新import这些被重写的类(不用libs的jar中的类)就好了。

(2)运行apk时提示“Syntax error on token(s), misplaced construct(s)”,是说构造函数有语法问题。

(3)编辑JAVA文件出现“the public type xxx must be defined in its own file .”,原因是:作为public 类应该和文件名一致,源文件中公关类名要与文件名相同。一个文件里只能有一个public类。如果仅仅是新加一个本文件中要用到的类,不加public就行,作用范围就是当前文件。

(4) 如果某个安卓工程需要用到外部导入的jar类,在工程配置中选择“java build path”-》“librarys”页面-》“add library”-》“user library”,在弹出页面的右边选择“user libraries”-》“new”,输入想要的包名字即可(记得勾选下面的system library(add to the boot class path),否则出现编译错误Conversion to Dalvik format failed);之后就可以把jars添加到自定义的文件夹中,方法是:在“librarys”页面中激活刚建的包名-》“edit”,在“preference”页面中选择“add jars”就可以了。要是想把不用的jar删掉,点击“edit”按钮进行编辑。在实际使用中,如果有必要调节库的优先级的话,还需要点击“order and export”页面,用up或者down调整库的优先级。

(5)编译工程出现错误DEX提示:在将ADT和SDK Tool升级到最新(分别是21.1和16.0.1)之后,编译工程在控制台会出现:

[2013-02-22 09:54:08 - Dex Loader] Unable to execute dex: Cannot merge new index 68664 into a non-jumbo instruction!
[2013-02-22 09:54:08 - com.konkagene.smartstay.SmartStay] Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 68664 into a non-jumbo instruction!

很多人都会遇到这个问题,只是错误信息中的数字不同而已。在网上找到相应解决方法是:可以在工程的project.properties里添加一行dex.force.jumbo=true ,clean再build一下就没问题了。实验后确认有效,解决了编译错误问题。

        但是产生的APK在某些机器上不能安装(Installation error: INSTALL_FAILED_DEXOPT),针对这个问题的一个可能解释是:最新的ADT和SDK Tool在将jar转化成dex的时候,某些因素导致不能通过验证,所以安装失败。

(6)通过虚拟机运行一个应用时,出现:emulator: ERROR: Unable to load VM from snapshot. The snapshot has been saved for a different hardware configuration.解决方法是:Android Virtual Device Manager -> delete AVD -> new AVD,重新创建个AVD,解决。

(7)原本的工程正常,再添加了一个外部jar包后,某些以前未出错的java文件头的package语句,提示错误。执行clean多次也解决不掉。有人支招是:某个java文件中有两相同名字的类,而类名只是用大小写母区分,导致出错。

(8)运行时提示“java.lang.IllegalStateException: System services not available to Activities before onCreate()”。原因是在activity的onCreate之前执行了ConnectivityManager manager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);应该把它放在外面

参考原文:http://www.189works.com/article-40450-1.html

参考原文:http://hi.baidu.com/kaisep/item/2723860c05b9777fbfe97e8c

参考原文:http://blog.csdn.net/soliuyong/article/details/6455734

参考原文:http://blog.csdn.net/itmyhome/article/details/7010547

参考原文:http://bbs.csdn.net/topics/360095111?page=1#post-393430875

参考原文:http://zhidao.baidu.com/question/145236382.html

参考原文:http://blog.csdn.net/asdf39877/article/details/8198881

参考原文:http://blog.sina.com.cn/s/blog_70e6ed3a01013afx.html

参考原文:http://www.cnblogs.com/frydsh/archive/2013/02/20/2918969.html

参考原文:http://bbs.csdn.net/topics/390376538http://bbs.csdn.net/topics/390376538

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值