Код ошибки Proguard и Dalvik 1 - PullRequest
2 голосов
/ 06 января 2012

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

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

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

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

Ответы [ 6 ]

6 голосов
/ 15 января 2012

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

Я не умнее вас, но описанная вами проблема напоминает мне о моем недавнем ужасном опыте с ошибкой Dalvik 1 .

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

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

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

Удачи!

2 голосов
/ 16 января 2012

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

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

1 голос
/ 14 марта 2012

У меня недавно была ошибка с proguard после обновления Android SDK ... У меня также возникала проблема "Ошибка 1".Что для меня исправило, так это загрузка последних двоичных файлов proguard и замена тех, которые поставлялись вместе с Android SDK.

Надеюсь, это также поможет всем вам ...

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

0 голосов
/ 18 декабря 2012

У меня тоже была эта ошибка Proguard 1 и это ТАК, https://stackoverflow.com/a/13122133/238768 решил ее за меня!:) Надеюсь, это поможет!

0 голосов
/ 20 января 2012

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

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

0 голосов
/ 18 января 2012

Пожалуйста, удалите библиотеку и еще раз настройте путь сборки, после чего ошибка виртуальной машины Dalvik будет удалена.

Попытайтесь исправить свойства до 1.6 Компилятор еще раз.

Попробуйте, это решит вашу проблему!!!

...