Java 注意:android.support.v4.app.notificationCompatingJellybean调用';字段。getType';
我正在将ProGuard用于我的Android Studio项目。当我构建我的发行版时,我得到以下注意: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
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的通知类中的此字段一样,您可以使用上面的命令忽略此注释