2013-01-22 12 views
15

Ich versuche, eine Android-Version mit Ant und ProGuard zu erstellen. Ich unkommentiert die folgende Zeile in project.properties trotz des Kommentars in der Datei unter Hinweis darauf, dass Sie es nicht ändern sollten;):Unbekannte Klassen ILicensingService Hinweise beim Verschleiern von Android-Projekt

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 

Wenn Verschleiern, erhalte ich die folgenden Hinweise:

[proguard] Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService' 
[proguard] Note: the configuration refers to the unknown class 'com.android.vending.licensing.ILicensingService' 

Ich verstehe, warum das passiert. Diese Linien können in der Standard ProGuard Konfigurationsdatei ($ {} sdk.dir /tools/proguard/proguard-android.txt) zu finden:

-keep public class com.google.vending.licensing.ILicensingService 
-keep public class com.android.vending.licensing.ILicensingService 

ich benutze nicht den Google-Licensing Service, so dass die Klassen sind in der Tat unbekannt. Ich fand eine Lösung zu erhalten, diese Notizen zu befreien, indem die proguard-project.txt Aktualisierung:

-dontnote **ILicensingService 

Meine Frage: Ist dies der richtige Weg, dies zu umgehen? Es scheint mir, dass diese Klassen sowieso nicht standardmäßig beibehalten werden sollten, da diese Bibliothek für ein Android-Projekt nicht zwingend erforderlich ist. Die einzige Möglichkeit, dies zu erreichen, besteht darin, die Standardkonfigurationsdatei in mein Projekt zu kopieren, die Warteschlangen zu entfernen und die Standardkonfigurationsdatei im SDK vollständig zu ignorieren. Was auch nicht der richtige Weg zu sein scheint. Oder fehlt mir etwas?

Antwort

17

Die Einstellung "-dotnote com.google.vending.licensing.ILicensingService" ist in Ordnung. Tatsächlich könnte es Teil der Standardkonfigurationsdatei gewesen sein.

  1. Die Option -keep ist möglicherweise für Projekte erforderlich, die die Bibliothek verwenden.
  2. Die Option -dontnote kann nützlich sein, um die Notiz über die Option -keep für Projekte zu unterdrücken, die die Bibliothek nicht verwenden. Die Notiz ist nur eine sanfte Erinnerung daran, dass die Konfigurationsdatei einen Tippfehler enthalten könnte, weil die angegebene Klasse anscheinend nicht existiert. Es hat keinen Einfluss auf die Verarbeitung.
+0

Ah, macht Sinn in gewisser Weise. Ich werde dann mit der Option -dontnote gehen. Danke für die Ausarbeitung! Sehr geschätzt. –

+0

Zur Referenz (SDK Tools 21): Führen Sie nicht 'android update project -p.' * nach * Bearbeitung von proguard-project.txt und * vor * Aktivierung von proguard in project.properties. Es wird alle Änderungen entfernen. Nachdem das Programm aktiviert wurde, werden die Änderungen beibehalten. –

+0

Hallo, ich versuche mein Projekt mit Build-Skript und ProGuard zu erstellen. Ich habe auch das selbe Problem. nicht in der Lage zu verstehen, was zu tun ist, um dieses Problem zu beheben. also kannst du bitte helfen mit ein paar beispielen was ich zu tun habe. – Raj

Verwandte Themen