Eclipse:转换为Dalvik格式失败,错误1

这在Eclipse中创build新项目时会立即发生。

我只有一个jar文件在项目中,我已经尝试删除它,并重新添加,多次,并在此之后清理项目。

我已经更新了ProGuard(我认为),下载了新版本,并replace了lib文件夹作为这里说的线程。

我的default.properties文件如下所示:

# This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system use, # "build.properties", and override values to adapt the script to your # project structure. # Project target. target=android-8 

所以不能对另外一个线程中提到的ProGuard做任何评论。 我觉得我已经尝试了一切,仍然是这个bug。 有一件事我注意到了,但是如果我去: window -> preferences -> android -> build 。 并取消选中“外部jar子包含本地库时强制错误” 。 然后我得到: “无法解决R”,而不是Dalvik错误。

没有名为android.R导入。

任何人有一些帮助吗?

Solutions Collecting From Web of "Eclipse:转换为Dalvik格式失败,错误1"

这看起来不像proguard的问题,因为它甚至没有在你的defaults.properties文件中启用。 尝试以下操作:

  1. 取消选中“外部容器包含本机库时强制出错”选项(就像你一样)
  2. 从菜单中select“项目 – >清洁…”
  3. 如果这不能确保你有正确的R类import。 正如在source.android.com上所述 :

    Eclipse有时候喜欢在使用资源的文件的顶部添加一个导入的android.R语句,特别是当你要求eclipsesorting或者pipe理导入时。 这将导致你的制造破坏。 注意这些错误的导入语句并删除它们。

UPDATE

看看这个线程: 外部JAR上的“转换为Dalvik格式失败,出现错误1” 。
检查以下答案(链接将直接为您带来答案):

  • 米歇尔的回答
  • user408841的回答
  • Mido的回答
  • 乔的应用程序的答案

我错误地添加了一个android.jar的副本,这是不需要的,因为它是一个android依赖的引用,我删除了这个错误消失了。

我也开始遇到这个问题…唯一能解决这个问题的方法是手动下载最新版本的ProGuard(目前是4.6),用最新的版本replaceSDK版本的Proguard的bin和lib文件夹。

之后,一切又开始了。 这显然是一个logging错误… http://code.google.com/p/android/issues/detail?id=18359

你有新的Android SDK吗? 如果这样做,则必须从proguard网站下载proguard.jar,并将其replace到SDK目录中。

我只是自己与这个问题斗争,我最终做的是编辑proguard.bat文件,问题消失了

它位于:[Android SDK安装目录] \ tools \ proguard \ bin \ proguard.bat

更改

调用%java_exe%-jar“%PROGUARD_HOME%”\ lib \ proguard.jar%*

调用%java_exe%-jar“%PROGUARD_HOME%”\ lib \ proguard.jar%1%2%3%4%5%6%7%8%9

我尝试了很多其他的东西,但这是对我来说。

如果您使用CVS更新,则必须每次清理项目。

我偶尔有这个问题,对我来说修复是closures“自动生成”。 根据我的经验,当自动build筑开启时,Eclipse有时会在构buildapks时感到困惑。

如果没有解决scheme适用于您,请尝试执行以下操作:

  1. 停止寻找在线帮助。
  2. 转到你的项目。 即使在应用程序运行期间没有报告的错误,它也可能是Dalvik以错误方式解释的代码。

我有这样的问题。 禁用Proguard的应用程序的多次运行/构build/导出是成功的,只有在启用Proguard之后才出现错误1。 以下步骤可以帮助您解决问题:

  1. 创build一个新的项目。
  2. 为了检测可疑类,每次运行导出签名的应用程序工具,开始逐个添加类。
  3. 通过逐个添加代码块来缩小该类中的search范围。

在我的情况下,错误是由于:

 float[][] array1 = null, array2; for(int i = 0; i < someVal; i++){ if(array1 == null){ array1 = new float[row][col]; } else{ array2 = new float[array1.length][array1[0].length]; // ERROR 1 // it was assumed that array1 is still null } } 

当我用下面的代替它时:

 float[][] array1 = new float[1][1], array2; for(int i = 0; i < someVal; i++){ if(i == 0){ array1 = new float[row][col]; } else{ array2 = new float[array1.length][array1[0].length]; // ERROR 1 // it was assumed that array1 is still null } } 

错误1消失了。

我已经尝试了很多解决scheme在stackoverflow,但没有为我工作。 我只是打开项目文件夹中的project.properties文件,并在这里添加了两次appcompat库,如android.library.reference.1 = .. / appcompat_v7 android.library.reference.1 = .. / appcompat_v7

我刚刚删除了一行,这对我工作:)