Eclipse编译Launcher源码遇到的一个问题

           如题,代码都已经没错误了,但是一旦运行就会报一个错

           [2015-03-20 15:24:49 - Launcher] Dx 1 error; aborting
           [2015-03-20 15:24:49 - Launcher] Conversion to Dalvik format failed with error 1

           查了很久,因为没有明确的方向,网上说的原因也有很多,解决方法也很多,但是都没有解决,最后摸索了下解决了现在的问题。

           把方法大概说下

           Launcher源码要在Eclipse里面编译,我导入了这三个jar包

           android-common_intermediates  路径为android源码下android\out\target\common\obj\JAVA_LIBRARIES\android-common_intermediates内的class.jar

           core_intermediates  路径为android源码下android\out\target\common\obj\JAVA_LIBRARIES\core_intermediates内的class.jar

           framework_intermediates 路径为android源码下android\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates 内的clas.jar

           android-support-v13.jar 路径在SDK目录下\sdk\extras\android\support\v13下的jar文件

           将这三个jar包用Add Library以User Library的方式加入工程,并勾选System Library。在Order and Export选项下将上面加的三个包移动到Android API包的上面。

           此时Launcher的工程内已经不会有那么多错误了,接下来我的工程里面还会提示缺少一个BasicDream的类,所以网上去下载了这个类,并在src目录下新建                                

           android\support\v13\dreams目录,并拷贝BasicDream.java到此目录。然后Refresh项目,再clean工程后,至此就没有错误提示了。

           接着我直接去运行,于是出现了最开始的错误。解决如下

           在AndroidManifest.xml中加入

                           <uses-sdk android:minSdkVersion="16"
                               android:targetSdkVersion="16"/>

           然后再将原来的.classpath文件改为如下格式

               

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/android-common_intermediates"/>
	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/core_intermediates"/>
	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/framework_intermediates"/>
	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
	<classpathentry kind="lib" path="libs/android-support-v13.jar"/>
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
	<classpathentry kind="src" path="src"/>
	<classpathentry kind="src" path="gen"/>
	<classpathentry kind="output" path="bin/classes"/>
</classpath>
             然后编译,奇迹般的编译通过了。具体原因很多都说是lib改con但是实际我看过最开始的时候也是con但是还是会报错,所以猜测可能问题不在于那里,具体哪里还需要高手来解释了,目前问题算是解决了,先记录下供以后参考了。

               

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。