我知道这个问题的一种形式是存在的,但我找不到任何适合我的情况的东西,所以在这里.
我的应用程序在模拟器中进行测试时编译并运行完美,但是当我尝试导出已签名的apk时,我得到了Conversion to Dalvik format failed with error 1.Eclipse错误日志显示此堆栈跟踪:
com.android.ide.eclipse.adt.internal.build.DexException: Conversion to Dalvik format failed with error 1
at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:751)
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:269)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:296)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:233)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:218)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Run Code Online (Sandbox Code Playgroud)
我没有其他人似乎有的命名冲突(至少它在错误中没有这么说),我很难过为什么它在模拟器中运行,但我无法导出.
顺便说一句,我也没有使用ProGuard.
Spe*_*cer 27
看起来ADT 21在您的bin中添加了一个名为dexedLibs的文件夹,它应该通过将jar和库放在预编译的dex代码中来加速部署.我在那里有两个版本的支持库,所以我删除了文件夹中的所有文件并重新构建并且它有效.如果我尝试使用那里的任何文件构建,那么构建失败,所以我必须在每次导出之前删除它们.我正在使用ActionBar Sherlock,这可能与dexedLibs相冲突,因为除非文件夹最初为空,否则它不会显示在那里.
编辑:当问题首次出现时,我一直在使用ActionBarSherlock,但最近已切换到ActionBarCompat.从交换机开始,我不再需要在导出时删除dexedLibs文件夹.看起来可能是ActionBarSherlock的责任,但我无法确定.
| 归档时间: |
|
| 查看次数: |
7487 次 |
| 最近记录: |