我知道另一个帖子有一个答案,但我觉得它是无关的 .

(或者它可能是,但我会感谢更详细的回答)

所以我在proguard.rules中有这些:

-dontwarn com.google.android.instantapps.supervisor.InstantAppsRuntime
-keep class com.google.android.instantapps.supervisor.InstantAppsRuntime

-dontwarn com.google.android.gms.ads.AdView
-keep class com.google.android.gms.ads.AdView
-dontwarn com.google.android.gms.tagmanager.TagManagerService
-keep class com.google.android.gms.tagmanager.TagManagerService
-dontwarn io.grpc.netty.NettyChannelProvider
-keep class io.grpc.netty.NettyChannelProvider
-dontwarn io.opencensus.impl.tags.TagsComponentImpl
-keep class io.opencensus.impl.tags.TagsComponentImpl
-dontwarn io.opencensus.impllite.tags.TagsComponentImplLite
-keep class io.opencensus.impllite.tags.TagsComponentImplLite
-dontwarn io.opencensus.impl.stats.StatsComponentImpl
-keep class io.opencensus.impl.stats.StatsComponentImpl
-dontwarn io.opencensus.impllite.stats.StatsComponentImplLite
-keep class io.opencensus.impllite.stats.StatsComponentImplLite

但是在编译应用程序时,我仍然会收到所有这些警告:

W/ProGuard: The class 'io.opencensus.stats.Stats' is calling Class.forName to retrieve
    the class 'io.opencensus.impllite.stats.StatsComponentImplLite', but the latter could not be found.
    It may have been obfuscated or shrunk.
    You should consider preserving the class with its original name,
    with a setting like:
     
    -keep class io.opencensus.impllite.stats.StatsComponentImplLite

(这是一个例子)

为什么会这样? ProGuard实际上是保留课程还是不是由proguard.rules处理?