Android ProGuard警告 - 找不到引用的类“com.zhihu.matisse.R $ plurals”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android ProGuard警告 - 找不到引用的类“com.zhihu.matisse.R $ plurals”相关的知识,希望对你有一定的参考价值。
设置minifyEnabled后,无法生成签名的APk。设置minifyEnabled时启用false.i没有问题。是否必须设置minifyEnabled为true?没有什么问题?
我的ProGuard规则在这里..
-dontwarn com.squareup.picasso.**
-dontwarn com.squareup.okhttp.internal.**
-dontwarn org.apache.commons.logging.**
-dontwarn okhttp3.internal.platform.*
-dontwarn java.lang.invoke.*
-dontwarn com.bumptech.glide.**
-dontwarn org.apache.http.**
-dontwarn android.net.http.AndroidHttpClient
-dontwarn com.google.android.gms.**
-dontwarn com.android.volley.toolbox.**
-dontwarn com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool
-dontwarn com.bumptech.glide.load.resource.bitmap.Downsampler
-dontwarn com.bumptech.glide.load.resource.bitmap.HardwareConfigState
-dontwarn io.card.**
我有7个警告
com.zhihu.matisse.internal.model.SelectedItemCollection: can't find referenced class com.zhihu.matisse.R$plurals
ss.com.bannerslider.adapters.SliderRecylcerViewAdapter: can't find referenced method 'void onBindImageSlideView(int,ss.com.bannerslider.viewholder.ImageSlideViewHolder)' in program class ss.com.bannerslider.adapters.SliderAdapter
ss.com.bannerslider.adapters.SliderRecylcerViewAdapter: can't find referenced field 'ss.com.bannerslider.SlideType CUSTOM' in program class ss.com.bannerslider.SlideType
ss.com.bannerslider.adapters.SliderRecylcerViewAdapter$2: can't find referenced field 'ss.com.bannerslider.SlideType CUSTOM' in program class ss.com.bannerslider.SlideType
there were 2 unresolved references to classes or interfaces.
there were 3 unresolved references to program class members.
Exception while processing task java.io.IOException: Please correct the above warnings first.
我的gradle文件
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.google.code.gson:gson:2.8.1'
implementation 'com.mindorks:placeholderview:0.7.2'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.github.rakshakhegde:stepper-indicator:2.0.0-alpha'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.basgeekball:awesome-validation:1.3'
implementation 'com.github.f0ris.sweetalert:library:1.5.3'
implementation 'com.mcxiaoke.volley:library-aar:1.0.0'
implementation 'com.daprlabs.aaron:cardstack:0.3.1-beta0'
implementation 'com.customtoast:CustomToastLib:1.0.0'
implementation 'com.ss.bannerslider:bannerslider:2.0.0'
implementation 'com.github.bumptech.glide:glide:4.7.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
implementation 'net.steamcrafted:materialiconlib:1.1.5'
implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
implementation 'co.lujun:androidtagview:1.1.4'
implementation 'jp.wasabeef:glide-transformations:3.3.0'
implementation 'org.apache.commons:commons-io:1.3.2'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-storage:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.2'
implementation 'com.google.firebase:firebase-messaging:17.1.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.github.armcha:SpaceNavigationView:1.6.0'
implementation 'com.borax12.materialdaterangepicker:library:1.9'
implementation 'com.appyvet:materialrangebar:1.4.3'
implementation 'com.amitshekhar.android:android-networking:1.0.2'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-places:15.0.1'
implementation 'com.zhihu.android:matisse:0.5.0-beta3'
implementation 'com.intuit.sdp:sdp-android:1.0.5'
implementation 'com.vanniktech:emoji-one:0.5.1'
请帮助我..帮助将不胜感激...
对于APK的发布版本,强烈建议将minifyEnabled
设置为true,这不仅可以最大限度地减少apk的最终大小,还可以帮助将敏感包/类混淆为一些凌乱的代码形式,这样就不会易于逆向工程。
根据您的错误消息如下:
com.zhihu.matisse.internal.model.SelectedItemCollection:找不到引用的类com.zhihu.matisse.R $ plurals
意味着你错过了R
包引用,它通常是android aar库中的资源类,即zhihu
,检查你是否正确包含了这个库。
此问题的解决方法如下所示,找到您自己的strings.xml并在声明proguard下面放置声明。
<plurals name="error_over_count">
<item quantity="one">You can only select one media file</item>
<item quantity="many">You can only select up to %1$d media files</item>
</plurals>
ss.com.bannerslider.adapters.SliderRecylcerViewAdapter:在程序类ss.com.bannerslider.adapters.SliderAdapter中找不到引用的方法'void onBindImageSlideView(int,ss.com.bannerslider.viewholder.ImageSlideViewHolder)' ss.com.bannerslider.adapters.SliderRecylcerViewAdapter:在程序类ss.com.bannerslider.SlideType中找不到引用字段'ss.com.bannerslider.SlideType CUSTOM' ss.com.bannerslider.adapters.SliderRecylcerViewAdapter $ 2:在程序类ss.com.bannerslider.SlideType中找不到引用字段'ss.com.bannerslider.SlideType CUSTOM',有2个未解析的类或接口引用。程序类成员有3个未解决的引用。处理任务java.io.IOException时出现异常:请先纠正上述警告。
意味着您错过了通常来自其他库的onBindImageSlideView
包引用,请检查您是否正确包含该库。
以上是关于Android ProGuard警告 - 找不到引用的类“com.zhihu.matisse.R $ plurals”的主要内容,如果未能解决你的问题,请参考以下文章
从 Proguard 获取“未解决的引用”和“找不到超类”警告
Proguard 导致 100 个“找不到引用的类”警告,忽略 springframework 和 jackson 的保留规则
如何修复类 java.lang.Object 的现有方法“clone”和“finalize”的 proguard 警告“找不到引用的方法”