How to resolve D8 warning: D8: Type `org.conscrypt.Conscrypt` was not found

前端 未结 4 1228
渐次进展
渐次进展 2021-02-12 12:27
/Volumes/SSD/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.10.0/7ef0f1d95bf4c0b3ba30bbae25e0e562b05cf75e/okhttp-3.10.0.jar: D8: Type `org.conscrypt.Co         


        
相关标签:
4条回答
  • 2021-02-12 12:55

    I was able to solve the problem with adding:

    -dontwarn okhttp3.internal.platform.ConscryptPlatform

    to the proguard-rules.pro file.

    0 讨论(0)
  • 2021-02-12 13:03

    According to https://github.com/square/okhttp/issues/3922, it is safe to ignore these warnings.

    If the build does not succeed, I suppose there is another problem.

    0 讨论(0)
  • 2021-02-12 13:08

    Probably https://github.com/square/okhttp/issues/4604 will help, but I didn't try.

    buildscript {
        ...
        repositories {
            ...
            maven {
                url 'http://storage.googleapis.com/r8-releases/raw'
            }
        }
    
        dependencies {
            classpath 'com.android.tools:r8:1.4.57'  // Must be before the Gradle Plugin for Android.
            classpath 'com.android.tools.build:gradle:3.3.1'  // You don't need to upgrade this to use a newer R8 version.
            ...
         }
    }
    

    In my case I added OkHttp library and it's Proguard rules. Then removed the library but forgot to remove rules. You can comment or remove these lines from proguard-rules.pro if you removed OkHttp from build.gradle:

    ### OkHttp.
    
    # JSR 305 annotations are for embedding nullability information.
    -dontwarn javax.annotation.**
    
    # A resource is loaded with a relative path so the package of this class must be preserved.
    -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
    
    # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
    -dontwarn org.codehaus.mojo.animal_sniffer.*
    
    # OkHttp platform used only on JVM and when Conscrypt dependency is available.
    -dontwarn okhttp3.internal.platform.ConscryptPlatform
    
    0 讨论(0)
  • 2021-02-12 13:10

    From ./gradlew assemble

    R8 is the new Android code shrinker. If you experience any issues, please file a bug at https://issuetracker.google.com, using 'Shrinker (R8)' as component name. You can disable R8 by updating gradle.properties with 'android.enableR8=false'. Current version is: 1.4.94 (build 390954928f0db9c3b888a367f7f128ce3bbfb160 from go/r8bot (luci-r8-ci-archive-0-5g74)).

    0 讨论(0)
提交回复
热议问题