一、一切由运行时错误引起
dalvikvm Could not find class '引用包.类', referenced from method...其实在编译时也会见到如下错误:
[dx]
[dx] trouble processing:
[dx] bad class file magic (cafebabe) or version (0033.0000)
[dx] ...while parsing com/novell/sasl/client/DigestChallenge.class
[dx] ...while processing com/novell/sasl/client/DigestChallenge.class
二、尝试
1.使用JDK7有推荐使用JDK7来解决类似问题的帖子,可是我照做并没有解决问题。
2.升级build-tools
先来说说我的开发环境吧。
那是在2013年末配置的环境,ADT大版本号是22,tools大版本号也是22,Plantform-tools已经是最新的21,build-tools是18.1.1。
经过同事的实践,问题应该归咎于build-tools版本低的缘故。
三、最新开发环境的搭建(Eclipse & ADT&SDK)
1.各tools的升级
这里我们要重新配置一下代理,去neusoft.edu.cn镜像网站中下载最新的工具和SDK。启动 Android SDK Manager(命令行中直接输入android),Tools--->Options...,弹出Android SDK Manager - Settings窗口;在HTTP Proxy Server和HTTP Proxy Port输入框内填入mirrors.neusoft.edu.cn(注意没有http等前缀)和80,并且选中Force https://... sources to be fetched using http://...复选框。 再选择Packages--->Reload。
此时会发现我们顺利的取到Packages了,那么我们尽情下载吧。除了最新的Android 5.0.1还没有提供,其他的一应俱全了。
tools更新到最新是24.0.2,build-tools我选择了19.1、20和21.1.2,分别对应API19(4.4.2)、API20(L)和API21(5.0).
Android 5.0全部选择。
2.ADT的升级
由于更tools升级到最新,那么ADT22已经过期了,需要使用23及以上版本的ADT。找到好心人上传的23.03,安装时发现eclipse版本不支持最新的ADT(我使用的Juno),好吧,既然这样就都来新的吧。3.eclipse luna
最新的版本是luna,还是130多兆。解压后直接启动。4.再次安装ADT
这时在Help--->Install New Software --->Add, 选择ADT23.03 ZIP包,将“Contact all update sites during install to find required software.”勾选掉。继续完成安装。
一切准备就绪,将之前有问题的项目引入进来,编译,出现内存方面的问题。
四、dex的问题
出现了两个问题:1.unable to execute dex:java heap space
2.Conversion to Dalvik format failed: Unable to execute dex: GC overhead limit exceeded
配置eclipse.ini,将Xms40m和Xmx512m修改成126m和1024m,这个值要根据自己机器配置调整,只要运行良好就ok。
$ cat eclipse.ini -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326 -product org.eclipse.epp.package.java.product --launcher.defaultAction openFile -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms126m -Xmx1028m
重启、clean项目,编译,通过!运行,正常!至此我的最新Android开发环境搭建完成。
五、结论
时刻保持与时俱进的心态,稳定的新工具对我们的工作益处多多。
相关推荐
Android ADT(Android Developer Tools)是Google为Android开发者推出的一款集成开发环境插件,它基于Eclipse,提供了强大的工具集,用于构建、调试和发布Android应用程序。本文将详细介绍ADT-23.0.3版的主要特点、...
在本套"黑马Android5.0新特性和AndroidStudio培训视频"中,我们将深入探讨Android开发领域的两大核心主题:Android 5.0操作系统的新特性以及Android Studio集成开发环境的使用。这是一份针对Android开发者,特别是...
### Android开发环境搭建详解 #### 一、引言 随着移动互联网的发展,Android操作系统因其开源性和灵活性成为全球最受欢迎的移动操作系统之一。对于开发者而言,掌握Android应用开发技能变得尤为重要。而构建一个...
综上所述,搭建Android开发环境是一个相对复杂但流程清晰的过程,涵盖了Java环境的配置、选择合适的IDE、Android SDK的下载与安装,以及Eclipse插件的集成等多个环节。遵循上述指导,开发者可以顺利地在自己的计算机...
总的来说,搭建Android开发环境涉及下载和安装SDK,配置环境变量,安装和配置ADT插件,以及设置和启动Android模拟器。每个步骤都是确保开发者能够顺利编写、编译和测试Android应用的基础。通过遵循上述步骤,开发者...
- `Android实战技巧之九:最新Android开发环境(Eclipse+ADT+Android 5.0)`指导开发者如何设置和使用当时的主流开发工具,如Eclipse和ADT,以及如何与Android 5.0 SDK集成。 5. **构建系统Makefile**: - `...
### Android开发环境配置详解 #### 一、Android开发环境配置 ##### 1.1 Android开发环境需求 在开始配置Android开发环境之前,我们需要确保满足以下操作系统的要求: - **Windows**: 支持 XP (32-bit)、Vista ...
通过以上步骤,你已具备了基本的Android开发环境。接下来,你可以开始学习如何创建项目、编写代码、编译和运行应用,以及理解AndroidManifest.xml文件的作用、资源管理、Activity和Intent的概念,还有如何利用...
总的来说,这份2012年Android开发入门教程详细介绍了从安装SDK到配置开发环境,再到安装和使用Eclipse与ADT插件的全过程,对于初学者来说是一份非常实用的指南。通过跟随教程的步骤,你可以快速建立起Android开发的...
【标题】"OSChina 最新源码 eclipse 版本"涉及的是开源中国(OSChina)发布的一个基于Eclipse开发环境的、集成了最新Android L布局的源码版本。Eclipse是一款广泛使用的集成开发环境(IDE),尤其在Java编程领域,而...
Eclipse是一个常用的集成开发环境(IDE),它与Android开发工具插件(ADT)配合良好,但不是唯一的选择。除此之外,Java Development Kit(JDK)是必需的,JRE(Java Runtime Environment)并不足够。推荐使用JDK ...
虽然Eclipse是常用的Android开发环境,但也有其他选项,如Android Studio,它是Google推荐的官方IDE,集成了完整的Android开发工具。Android Studio提供了一流的代码编辑器、智能代码补全、快速构建系统以及内置的...
2. ADT Bundle:集成的开发环境,包括Eclipse和Android SDK,用于应用开发。 3. Android Studio:Google官方推荐的IDE,集成了源码编辑、构建、调试等多种功能。 4. Logcat:系统日志工具,用于查看和分析系统运行时...
8. 开发环境搭建步骤:文档详细介绍了如何搭建Android开发环境。首先需要下载并安装JDK,然后下载Eclipse集成开发环境,以及ADT-bundle工具包。ADT-bundle是一套包含Eclipse IDE、ADT插件以及Android SDK的集成解决...
在Android开发环境中,"adt|system-images|armeabi-v7a-21"是一个关键组件,它是Android Developer Tools (ADT) Bundle的一部分,用于支持armeabi-v7a架构的设备。这个标题揭示了我们正在讨论的是针对Android API ...