Зачем начинать использовать -libraryjars, если я никогда раньше не нуждался в этом?

С тех пор, как я обновил ADT с 16 до 18 (что требует обновления Proguard с 4.6 до 4.8), Proguard ведет себя очень странно (и непоследовательно?).

Последняя такая проблема заключается в том, что когда я пытаюсь экспортировать подписанный (релизный) APK, я получаю следующие ошибки:

Proguard returned with error code 1. See console
Warning: com.bta.LibProj2: can't find referenced class com.bta.R$string
Warning: com.bta.MyDlg1: can't find referenced class com.bta.R$string
Warning: com.bta.MyMenu: can't find referenced class com.bta.R$menu
Warning: com.bta.R: can't find referenced class com.bta.R$attr
Warning: com.bta.R: can't find referenced class com.bta.R$drawable
Warning: com.bta.R: can't find referenced class com.bta.R$menu
Warning: com.bta.R: can't find referenced class com.bta.R$string
Warning: com.bta.myapp.MyAppActivity$1: can't find referenced class com.bta.myapp.MyAppActivity
Warning: com.bta.myapp.MyAppActivity$ELicenseResponse: can't find referenced class com.bta.myapp.MyAppActivity
Warning: com.bta.myapp.MyAppActivity$MyLicenseCheckerCallback$1: can't find referenced class com.bta.myapp.MyAppActivity$MyLicenseCheckerCallback
Warning: com.bta.myapp.MyAppActivity$MyLicenseCheckerCallback$1: can't find referenced class com.bta.myapp.MyAppActivity
Warning: com.bta.myapp.R$array: can't find referenced class com.bta.myapp.R
Warning: com.bta.myapp.R$layout: can't find referenced class com.bta.myapp.R
Warning: com.bta.myapp.R$xml: can't find referenced class com.bta.myapp.R
Warning: there were 49 unresolved references to classes or interfaces.
         You may need to specify additional library jars (using '-libraryjars').
java.io.IOException: Please correct the above warnings first.
    at proguard.Initializer.execute(Initializer.java:321)
    at proguard.ProGuard.initialize(ProGuard.java:212)
    at proguard.ProGuard.execute(ProGuard.java:87)
    at proguard.ProGuard.main(ProGuard.java:493)

Я заметил рекомендацию добавить -libraryjarsв proguard.cfg, но Раньше мне никогда не приходилось этого делать (и я ничего не менял в своем коде, все, что я сделал, это обновил Proguard с 4.6 до 4.8).Означает ли это, что что-то не так в моей конфигурации среды разработки?

Кроме того, я проверил раздел устранения неполадок Proguard на предмет Не удается найти ссылочный класс: это относится к забыванию или игнорированию указания библиотеки через -libraryjars(что я допускаю), но Я никогда не указывал никакую библиотеку, и раньше она всегдаработала! Что изменилось?

Кстати, мой файл proguard.cfg начинается с:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

Есть идеи, что происходит? Почему Proguard начал доставлять мне такие трудности? (Я очень хорошо справлялся с этим уже более года) Есть ли что-то фундаментальное, чего мне не хватает в конфигурации моей системы?

Кстати, я пытался добавить библиотеки, которые использовал, указав их все в строках -libraryjars, но поведение Proguard только ухудшилось: программа не выдавала журнал ошибок, который я процитировал выше.

14
задан Regex Rookie 12 June 2012 в 23:33
поделиться