Warum sollte ich -libraryjars benutzen, wenn ich es noch nie gebraucht habe?

Seit ich ADT von 16 auf 18 aktualisiert habe (was ein Update von Proguard von 4.6 auf 4.8 vorschrieb), handelt Proguard sehr seltsam (und inkonsistent?).

Wenn ich versuche, ein signiertes (Release-) APK zu exportieren, erhalte ich als letztes ein solches Problem die folgenden Fehlermeldungen:

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)

Mir ist die Empfehlung zum Hinzufügen aufgefallen-libraryjars in proguard.cfg, aber ich musste das noch nie tun (und ich habe nichts an meinem Code geändert, ich habe nur Proguard von 4.6 auf 4.8 aktualisiert). Schlägt dies einen Fehler in der Konfiguration meiner Entwicklungsumgebung vor?

Außerdem habe ich den Abschnitt zur Fehlerbehebung von Proguard auf überprüftReferenzierte Klasse kann nicht gefunden werden: Es bezieht sich auf das Vergessen oder Ignorieren, eine Bibliothek über anzugeben-libraryjars (was ich zugebe), aber ich habe nie eine Bibliothek angegeben und esimmer vorher gearbeitet! Was hat sich geändert?

Meine proguard.cfg Datei beginnt übrigens mit:

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

Irgendeine Idee, was los ist? Warum hat mir Proguard so viel Mühe gegeben? (Ich habe damit über ein Jahr lang reibungslos gearbeitet.) Fehlt in meiner Systemkonfiguration etwas Grundlegendes?

Übrigens habe ich versucht, die Bibliotheken, die ich verwendet habe, hinzuzufügen, indem ich alle in angegeben habe-libraryjars Linien, aber das Verhalten von Proguard wurde nur schlechter: Es würde fehlschlagen, ohne eines der Fehlerprotokolle zu geben, die ich oben zitiert habe.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage