Proguard和Dalvik错误代码1

Ale*_*ran 2 android proguard android-manifest

我一直遇到使用ProGuard混淆代码的问题.我已经尝试了所有其他的建议,类似的问题在这里仍然没有用.

从本质上讲,以下是我可以从这种情况中收集到的所有事实:

  • 设置了我的库,以便ActionBarSherlock引用ViewPagerIndicator,而ActionBarSherlock又由应用程序FormulaePro引用的FormulaeLib引用.
  • 尝试使用ant也失败了,在<sdk_dir>/tools/ant/build.xml485,602和622行有错误
  • 注释掉project.properties中的proguard配置将成功构建.
  • 我正在使用ProGuard 4.7

更新:

  • 我现在已将此问题追溯到我的CursorLoader实现.我有这么多问题,我现在回过头来使用加载游标的(已弃用的)managedQuery(..)方法.

控制台输出结束:

[2012-01-06 17:45:07 - FormulaePro] applyFileOverlay for mipmap
<lots of "new resource id" things>
[2012-01-06 17:45:43 - FormulaePro]     (new resource id view from D:\Dropbox\Android\FormulaeLib\res\menu\view.xml)
[2012-01-06 17:45:43 - FormulaePro]   Writing symbols for class R.
[2012-01-06 17:45:43 - FormulaePro]   Writing symbols for class R.
[2012-01-06 17:45:43 - FormulaePro]   Writing symbols for class R.
[2012-01-06 17:45:43 - FormulaePro]   Writing symbols for class R.
[2012-01-06 17:45:45 - FormulaePro] Starting full Package build.
[2012-01-06 17:45:45 - FormulaePro] Skipping over Post Compiler.
Run Code Online (Sandbox Code Playgroud)

所以,比我更聪明的人可以弄清楚到底发生了什么事吗?

Bil*_*Ape 6

您最近是否已升级到SDK Tools rev 14或更高版本?

我并不比你聪明,但你所描述的问题让我想起了我最近对Dalvik错误1的糟糕经历.

如果是这种情况,请从惊人的@TheTerribleSwiftTomato 尝试这个解决方案:

  1. 在您的应用程序项目中,检查指向您的库项目的任何链接的源文件夹(它们的名称格式为"LibraryName_src").
  2. 选择所有这些项目,右键单击,选择"构建路径" - >"从构建路径中删除".
  3. 选择"同时取消链接文件夹与项目",然后单击"是".
  4. 清理,重建和重新部署项目.

更新:我最近遇到的另一个场景:您重命名了其中一个类.在这种情况下,文件proguard夹中生成的文件(dump.txt,mapping.txt,seeds.txt,usage.ext)可能无法反映该更改.在这种情况下,删除所有4个.它们将在下次使用时自动生成File > Export- 这次不会产生可怕的"Dalvik错误1".

祝好运!