diff --git a/moshi/pom.xml b/moshi/pom.xml index 9361fca716..b9b32817bf 100644 --- a/moshi/pom.xml +++ b/moshi/pom.xml @@ -13,6 +13,11 @@ Moshi + + androidx.annotation + annotation + 1.1.0 + com.squareup.okio okio @@ -34,6 +39,14 @@ + + + google + Google + https://maven.google.com/ + + + diff --git a/moshi/src/main/java/com/squareup/moshi/internal/Util.java b/moshi/src/main/java/com/squareup/moshi/internal/Util.java index b9367645c3..0f4ce82add 100644 --- a/moshi/src/main/java/com/squareup/moshi/internal/Util.java +++ b/moshi/src/main/java/com/squareup/moshi/internal/Util.java @@ -15,6 +15,7 @@ */ package com.squareup.moshi.internal; +import androidx.annotation.Keep; import com.squareup.moshi.JsonAdapter; import com.squareup.moshi.JsonClass; import com.squareup.moshi.JsonDataException; @@ -54,7 +55,7 @@ public final class Util { Class metadata = null; try { //noinspection unchecked - metadata = (Class) Class.forName("kotlin.Metadata"); + metadata = (Class) Class.forName(getKotlinMetadataClassNameForReflection()); } catch (ClassNotFoundException ignored) { } METADATA = metadata; @@ -69,6 +70,11 @@ public final class Util { DEFAULT_CONSTRUCTOR_MARKER = defaultConstructorMarker; } + @Keep /* Kept to avoid optimizing out reflection. */ + private static String getKotlinMetadataClassNameForReflection() { + return "kotlin.Metadata"; + } + private Util() { }