簡體   English   中英

Android ProGuard警告-找不到引用的類“ com.zhihu.matisse.R $ plurals”

[英]Android ProGuard warning — can't find referenced class “com.zhihu.matisse.R$plurals”

將minifyEnabled設置為true后,將無法生成簽名的APk。 當設置minifyEnabled enabled false時我沒有問題。是否必須將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 ,請檢查您是否正確包含了此lib。

解決此問題的方法如下,找到您自己的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包引用,請檢查您是否正確包含了該庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM