"转换为Dalvik格式失败,错误1" - 仅在导出时

Bar*_*man 15 android android-build apk

我知道这是一个重复的问题,但我已经阅读并尝试了这个网站上的每个解决方案,我仍然得到错误; 另外,我只是在从Eclipse导出我签名的apk时才得到它.我能够构建并运行unsigned apk.

我有:

  • 从构建路径中删除(并稍后还原)所有库
  • 清理并重建了我的所有项目
  • 使用-clean选项重新启动Eclipse
  • 从头开始重新创建应用程序项目

我知道错误1意味着我有重复的符号,但我检查,清理和重建我的构建路径一百万次,我仍然得到错误,只有当我导出.

  • 如果我有重复的符号,我也不会为我的未签名的apk收到错误1吗?
  • 如果我确实有重复的符号,我怎么能让Eclipse告诉我它们是什么?我从导出向导得到的只是一行错误对话框.:(
  • 我手动签署apk时没有出现任何错误,但是当我在手机上安装它时,我收到一个简单的错误:"应用程序未安装".:( :(

我的项目结构如下:

  1. 一个包含99%代码的Android库项目.它在构建路径中有一个所需的jar文件副本.
  2. 一个包含两个类的Android应用程序项目.它通过Android选项卡引用库项目,而不是Java构建路径.除了Android 2.1之外,构建路径中没有引用其他源,项目或库.我甚至从头开始重新创建了这个项目(我没有重新创建库项目,因为它更大).

几天前一切都在运作!任何建议都非常感谢!

提前致谢...

EDIT-UPDATE:当我禁用Proguard时,错误就消失了.很奇怪.

Jon*_*all 20

这是Proguard在Windows开发人员工具中的一个问题 - 编辑 Android SDK\tools\proguard\bin\Proguard.bat

更换:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*
Run Code Online (Sandbox Code Playgroud)

有:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
Run Code Online (Sandbox Code Playgroud)

保留对此解决方案的引用,因为下次更新SDK工具时,它可能会重新引入(已在最近几个版本中出现).


Ach*_*mar 9

将您的Proguard升级到最新版本,即4.7 ...从http://sourceforge.net/projects/proguard/files/latest/download?source=files ....下载压缩文件然后复制"lib"和" bin"从zip到你的sdk/tools/proguard /的文件夹来替换默认的或者说旧的"bin"和"lib"....尝试再次导出你的项目...