Java 注意:android.support.v4.app.notificationCompatingJellybean调用';字段。getType';

Java 注意:android.support.v4.app.notificationCompatingJellybean调用';字段。getType';,java,android,android-studio,proguard,android-proguard,Java,Android,Android Studio,Proguard,Android Proguard,我正在将ProGuard用于我的Android Studio项目。当我构建我的发行版时,我得到以下注意: Note: android.support.v4.app.NotificationCompatJellybean calls 'Field.getType' 这是我的Gradle配置: proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 以下是prog

我正在将ProGuard用于我的Android Studio项目。当我构建我的发行版时,我得到以下注意:

Note: android.support.v4.app.NotificationCompatJellybean calls 'Field.getType'
这是我的Gradle配置:

proguardFiles getDefaultProguardFile('proguard-android.txt'),
            'proguard-rules.pro'
以下是proguard-rules.pro:

-dontnote org.apache.http.conn.scheme.HostNameResolver
-dontnote org.apache.http.conn.**
-dontnote org.apache.http.params.**
-dontnote android.net.http.**

-dontnote **ILicensingService
-dontnote com.android.vending.billing.IInAppBillingService

如何解决此便笺的问题?

将以下行添加到您的
proguard rules.pro
文件中:

-keepattributes Signature
说明:

您的便笺与android.support.v4.app.notificationcompatingjellybean无关,而是与Field.getType有关

该方法属于反射包的
java.lang.reflect.Field
,可以访问存储在java类文件中的元信息。但是,proguard会删除此元信息(没有上面的规则)——因此会发出警告

另请参见可与
-keepattributes
一起使用的。对于属性签名,如下所示:

指定类、字段或字段的通用签名 方法。编译器可能需要这些信息才能正确编译 使用编译库中的泛型类型的类。
代码可以通过反射访问此签名。


尝试将以下行添加到ProGuard配置中:

-dontnote android.support.v4.app.NotificationCompatJellybean
NotificationCompatJellybean
获取其
getExtras()
方法中的私有
通知.extras
字段的类型。但是,正如Android SDK的
通知
类中的此字段一样,您可以使用上面的命令忽略此注释