我正在尝试使用 Ant 和 ProGuard 构建 Android 版本。我在 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 Licensing Service,所以这些类确实是未知的。我通过更新 proguard-project.txt 找到了摆脱这些注释的解决方案:
-dontnote **ILicensingService
我的问题:这是处理这个问题的正确方法吗?在我看来,无论如何都不应该默认保留这些类,因为该库对于 android 项目不是强制性的。我能想到的唯一方法是将默认配置文件复制到我的项目中,删除 -keep 行并完全忽略 SDK 中的默认配置文件。这似乎也不是正确的方法。还是我错过了什么?