2013-04-23 7 views
6

Mam dwa projekty Project_A i Project_B. Project_B jest projektem bibliotecznym dla Project_A. Project_B ma zewnętrzny słoik w swoim folderze libs.Proguard: Wyklucz projekt biblioteki w Androidzie

Kiedy biegnę ProGuard na Project_A, pojawiają się błędy jak:

(Unknown verification type [69] in stack map frame)) 

Błąd odnosi się do obecnej pliku w zewnętrznym słoika (który jest obecny w libs z Project_B)

używam standardu plik proguard.cfg, który dostajemy w Android SDK.

Próbowałem "-keep klasy. **", ale nadal otrzymuję ten sam błąd.

Proszę dać mi znać, czy istnieje sposób, dzięki któremu mogę wykluczyć Project_B (projekt biblioteczny) i jego słoiki z zaciemniania. Chcę uruchamiać proguard tylko w Project_A, a nie w jego projekcie bibliotecznym.

+0

http://tools.android.com/recent/proguardimprovements. sprawdź przykład @ http://proguard.sourceforge.net/index.html#manual/examples.html – Raghunandan

Odpowiedz

0

ProGuard potrzebuje całej hierarchii klas, aby poprawnie przetworzyć aplikację, więc nie można tak naprawdę pominąć biblioteki.

Kod biblioteki wygląda na uszkodzony; najprawdopodobniej został on przetworzony przez narzędzie, które je zepsuło. Niektóre narzędzia nie aktualizują poprawnie informacji weryfikacyjnych. Ta informacja jest opcjonalna, ale ProGuard spodziewa się, że zostanie prawidłowo uformowana. Powinieneś sprawdzić, czy istnieje nowsza wersja biblioteki lub narzędzia do przetwarzania końcowego.

+0

Użyłem wtyczki cienia do scalenia w pojedynczy słoik. Otrzymuję ten sam błąd, ProGuard wskazuje na wewnętrzną klasę jednego biblioteki zewnętrznej z napisem "Nieznany typ weryfikacji [73] w ramce mapy stosu" – nish1013

Powiązane problemy