Неизвестные классы ILicensingService отмечает, когда запутывает проект Android
Я пытаюсь создать версию для Android с помощью Ant и ProGuard. Я раскомментировал следующую строку в project.properties, несмотря на комментарий в указанном файле, отметив, что вы не должны изменять его;):
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
При запутывании я получаю следующие примечания:
[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'
Я понимаю, почему это происходит. Эти строки можно найти в конфигурационном файле ProGuard по умолчанию ($ {sdk.dir}/tools/proguard/proguard-android.txt):
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
Я не пользуюсь службой лицензирования Google, поэтому классы действительно неизвестны. Я нашел решение избавиться от этих заметок, обновив proguard-project.txt:
-dontnote **ILicensingService
Мой вопрос: Это правильный способ справиться с этим? Мне кажется, что эти классы не должны сохраняться по умолчанию, так как эта библиотека не является обязательной для проекта Android. Единственный способ добиться этого - скопировать файл конфигурации по умолчанию в мой проект, удалить строки -keep и полностью игнорировать файл конфигурации по умолчанию в SDK. Это не похоже на правильный путь. Или я что-то упускаю?
Ответы
Ответ 1
Значение "-dontnote com.google.vending.licensing.ILicensingService" в порядке. Фактически, это могло быть частью файла конфигурации по умолчанию.
- Параметр -keep может потребоваться для проектов, которые используют библиотеку.
- Опция -dontnote может быть приятной подавить примечание о опции -keep для проектов, которые не используют библиотеку. Примечание - это просто напоминание о том, что файл конфигурации может содержать опечатку, поскольку указанный класс не существует. Это не влияет на обработку.