Proguard 警告删除 类

Proguard warns about deleted classes

我在 Android Studio 中使用混淆器来混淆我的代码。 我已经从我的项目中删除了很多 类 并且没有使用它们,但是混淆器警告我那些被删除的 类。如果我不使用混淆器,应用程序编译正常。

我尝试了 Invalidate Caches/Restart 选项,但没有任何区别。

警告如下:

Warning: com.mypack.myapp.FaceServiceClient: can't find superclass or interface com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find superclass or interface com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find superclass or interface com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find superclass or interface com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find superclass or interface com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find superclass or interface com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find superclass or interface com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.AddFaceToPersonActivity: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.SampleApp
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.SampleApp
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$AddFaceTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.SampleApp
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.SampleApp
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$DetectionTask: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter
Warning: com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter
Warning: com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity
Warning: com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter
Warning: com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter
Warning: com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter: can't find referenced class com.mypack.myapp.AddFaceToPersonActivity$FaceGridViewAdapter
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.Gson
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.Gson
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced method 'java.lang.reflect.Type getType()' in program class com.mypack.myapp.FaceServiceClient
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.Gson
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced method 'java.lang.reflect.Type getType()' in program class com.mypack.myapp.FaceServiceClient
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced method 'java.lang.reflect.Type getType()' in program class com.mypack.myapp.FaceServiceClient
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced method 'java.lang.reflect.Type getType()' in program class com.mypack.myapp.FaceServiceClient
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.Gson
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced method 'java.lang.reflect.Type getType()' in program class com.mypack.myapp.FaceServiceClient
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced method 'java.lang.reflect.Type getType()' in program class com.mypack.myapp.FaceServiceClient
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced method 'java.lang.reflect.Type getType()' in program class com.mypack.myapp.FaceServiceClient
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.Gson
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.FaceServiceClient: can't find referenced class com.google.gson.reflect.TypeToken
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.google.gson.Gson
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.google.gson.Gson
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.mypack.myapp.ServiceCallException
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.google.gson.Gson
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.mypack.myapp.ServiceCallException
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.mypack.myapp.ServiceCallException
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.mypack.myapp.ServiceCallException
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.mypack.myapp.ServiceCallException
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.mypack.myapp.ServiceCallException
Warning: com.mypack.myapp.WebServiceRequest: can't find referenced class com.mypack.myapp.ServiceCallException

这里是 build.gradle 中的 proguard 相关部分:

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules.pro'
        }
    }

这是 proguard-rules.pro 文件:

-verbose

-dontwarn android.support.**

-keep class -verbose

-dontwarn android.support.**

-keep class -verbose

-dontwarn android.support.**

-keep class com.mypack.myapp.R { 
*;
}

#below commands for including the line numbers in traces
-renamesourcefileattribute SourceFile    
-keepattributes SourceFile,LineNumberTable.R { 
*;
}

对于遇到相同问题的任何人,只需删除整个 build 文件夹即可解决问题。