我在我的项目中使用第三方库,从那时起proguard向我发出这些警告,我不能将其与该库联系起来,这是我使用的库:Lollipin
警告我得到
Warning:android.databinding.DataBindingUtil: can't find referenced class android.databinding.DataBinderMapper
Warning:android.databinding.ViewDataBinding: can't find referenced class android.databinding.DataBinderMapper
Warning:there were 43 unresolved references to classes or interfaces.
Warning:Exception while processing task java.io.IOException: Please correct the above warnings first.
我试过了吗?
我这样编辑proguard-rules.pro
:
-keeppackagenames com.github.orangegangsters.lollipin
还是不去!我也试过清理和重建项目,也没有成功。
build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion '24.0.2'
defaultConfig {
applicationId "com.example.teach"
minSdkVersion 15
targetSdkVersion 24
versionCode 27
versionName "5.0"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:24.2.1'
compile('com.mikepenz:materialdrawer:5.6.0@aar') {
transitive = true
}
compile ('com.github.orangegangsters:lollipin:2.0.0@aar') {
transitive = true
}
compile 'com.google.android.gms:play-services-ads:9.6.0'
}
apply plugin: 'com.google.gms.google-services'
我也有同样的问题,所以我在我的proguard.cfg
中添加了以下更改-dontwarn android.databinding.**
-keep class android.databinding.** { *; }
-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8
-keepclasseswithmembers class * {
@retrofit2.http.* <methods>;
}
尝试:
-dontwarn com.github.orangegangsters.lollipin
不是-keeppackagenames com.github.orangegangsters.lollipin
这是因为Lollipin使用了Databinding库。
添加到gradle:
dataBinding {
enabled = true
}