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

在Eclipse中编译Launcher源码时遇到错误:Conversion to Dalvik format failed with error 1。通过导入android-common_intermediates、core_intermediates、framework_intermediates的class.jar以及android-support-v13.jar作为User Library,并调整Order and Export顺序。还需在src目录下创建androidsupportv13dreams目录,添加BasicDream.java,修改AndroidManifest.xml设置minSdkVersion和targetSdkVersion为16,最终解决编译问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

           [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但是还是会报错,所以猜测可能问题不在于那里,具体哪里还需要高手来解释了,目前问题算是解决了,先记录下供以后参考了。

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值