2012-01-06 2 views
2

У меня возникла проблема с запутыванием моего кода с помощью ProGuard. Я пробовал все предложения с другой, подобные вопросы здесь, и все же это не работает.Proguard и Dalvik код ошибки 1

По существу, здесь все факты, я могу извлечь из ситуации:

  • Мои библиотеки установлены таким образом, что ViewPagerIndicator ссылается ActionBarSherlock, который, в свою очередь, ссылается на FormulaeLib который ссылается приложение , FormulaePro.
  • попытка использования муравьев также не работает с ошибками <sdk_dir>/tools/ant/build.xml строки 485, 602 и 622
  • Закомментирование конфигурации proguard в project.properties даст успешную сборку.
  • Я использую ProGuard 4.7

ОБНОВЛЕНИЕ:

  • Я теперь проследили эту проблему обратно к моей реализации CursorLoader. У меня было так много проблем с этим, теперь я только что вернулся к использованию (устаревшего) метода manageQuery (..) для загрузки курсоров.

Конец консоли вывода:

[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. 

Так, может кто-то гораздо умнее, чем мне понять, что, черт возьми, происходит?

+0

разъяснение. Описание выше похоже на то, что вы пытаетесь объединить библиотеки проектов Android, чего вы еще не можете сделать ... это правильное чтение того, что у вас есть? –

ответ

6

Вы недавно обновились до SDK Tools rev 14 или выше?

Я не умнее, чем вы, но проблема, которую вы описываете, напоминает мне my recent awful experience with Dalvik error 1.

Если это так, попробуйте this solution из удивительного @TheTerribleSwiftTomato:

  1. в приложении проект, проверьте любые связанные исходные папки, указывающие на ваши библиотеки проектов (они имеют имена в виде «LibraryName_src»).
  2. Выберите все эти проекты, щелкните правой кнопкой мыши, выберите «Путь сборки» -> «Удалить из пути сборки».
  3. Выберите «Отсоединить папку от проекта» и нажмите «Да».
  4. Очистить, перестроить и переустановить проект.

Обновление: Другой сценарий, с которым я недавно столкнулся: вы переименовали один из классов. В этом случае файлы, созданные в папке proguard (dump.txt, mapping.txt, seeds.txt, usage.ext), могут не отражать это изменение. В этом случае удалить все 4 из них. Они будут автоматически генерироваться в следующий раз, когда вы используете File > Export - на этот раз не создавая страшную «ошибку Dalvik 1».

Удачи вам!

+0

спасибо, я пробовал, но это не сработало :(нашел способы заставить его работать (см. Выше), но они действительно не помогают, они имеют для вас какой-то смысл? –

+0

@Espiandev Извините, у меня нет опыт, который вы описали. Мои приложения состояли из одного (собственного) действия только до сих пор. –

2

Помимо пунктов, на которые ссылается @Bill Ape, обновили ли вы свои файлы proguard после обновления SDK?

Это может быть проблема, проверьте здесь: https://stackoverflow.com/a/7386541/327011

+0

спасибо за помощь, но я обновился и, похоже, не очень помог. Я нашел несколько новых вещей через тестирование, может быть, это прольет еще немного света? –

0

Пожалуйста Удалить библиотеку & Еще раз настроить путь сборки, то Dalvik Virtual Machine Error будет удален.

Попытайтесь исправить свойства в 1.6 Compiler Еще раз.

Попробуйте решить эту проблему !!!

0

У меня также была такая же проблема, когда я обновился до ADT 16 вчера. Для решения проблемы я удалил ADT 16 и установил ADT 15.

Попробуйте это. Это может решить вашу проблему.

1

У меня недавно была ошибка с proguard после обновления Android SDK ... Я продолжал получать сообщение об ошибке «Ошибка 1». Для меня это было исправлено, загружая последние двойные файлы proguard и заменяя те, которые поставляются с Android SDK.

Надеется, что это помогает для всех вас, а также ...

http://sourceforge.net/projects/proguard/files/

Смежные вопросы