web-dev-qa-db-ja.com

D8警告を解決する方法:D8:タイプ `org.conscrypt.Conscrypt`が見つかりませんでした

/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.Conscrypt` was not found, it is required for default or static interface methods desugaring of `okhttp3.internal.platform.Platform okhttp3.internal.platform.ConscryptPlatform.buildIfSupported()`
14
smoothdvd

以下を追加することで問題を解決できました。

-dontwarn okhttp3.internal.platform.ConscryptPlatform

proguard-rules.proファイル。

5
Ognyan

From./ gradlew assemble

R8は新しいAndroidコードシュリンカーです。問題が発生した場合は、 https://issuetracker.google.com )にバグを報告してください。 「Shrinker(R8)」をコンポーネント名として使用します。「Android.enableR8 = false」でgradle.propertiesを更新することにより、R8を無効にできます。現在のバージョン:1.4.94(ビルド390954928f0db9c3b888a367f7f128ce3bbfb160 from go/r8bot(luci-r8-ci- archive-0-5g74)))。

0
brayskiy

https://github.com/square/okhttp/issues/3922 によると、これらの警告は無視しても安全です。

ビルドが成功しない場合、別の問題があると思います。

0
mrek

おそらく https://github.com/square/okhttp/issues/4604 が役立ちますが、試しませんでした。

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.
        ...
     }
}

私の場合、OkHttpライブラリーを追加しました。これはProguardルールです。次に、ライブラリを削除しましたが、ルールを削除するのを忘れていました。 OkHttpをproguard-rules.proから削除した場合は、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
CoolMind