Как исправить ошибки ProGuard - PullRequest
0 голосов
/ 09 апреля 2020

В моем приложении я хочу включить proguard и написать правила proguard, но после генерации apk покажите мне некоторые ошибки в logcat .

В моем приложении я хочу включить proguard и напишите правила proguard, но после генерации apk покажите мне некоторые ошибки в logcat .

Покажите мне эту ошибку:

Error: D:\Projects\myapp\BaseApp\1.0.22\app\proguard-rules.pro, offset: 3207, line: 88, column: 7, Expected [!]interface|@interface|class|enum

Правила ProGuard:

##########################
#        OKHTTP          #
##########################
-dontwarn javax.annotation.**
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
-dontwarn org.codehaus.mojo.animal_sniffer.*
-dontwarn okhttp3.internal.platform.ConscryptPlatform
##########################
#        OKIO            #
##########################
-dontwarn org.codehaus.mojo.animal_sniffer.*
##########################
#        RETROFIT        #
##########################
-keepattributes Signature, InnerClasses, EnclosingMethod
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
-keepclassmembers,allowshrinking,allowobfuscation interface * {
    @retrofit2.http.* <methods>;
}
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn javax.annotation.**
-dontwarn kotlin.Unit
-dontwarn retrofit2.KotlinExtensions
-dontwarn retrofit2.KotlinExtensions$*
-if interface * { @retrofit2.http.* <methods>; }
-keep,allowobfuscation interface <1>
##########################
#        GSON            #
##########################
-keepattributes Signature
-keepattributes *Annotation*
-dontwarn sun.misc.**
-keep class com.google.gson.examples.android.model.** { <fields>; }
-keep class * implements com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.SerializedName <fields>;
}
##########################
#        GLIDE           #
##########################
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}
##########################
#        ROOM            #
##########################
-keep class * extends androidx.room.RoomDatabase
-dontwarn androidx.room.paging.**
##########################
#       EVENTBUS         #
##########################
-keepattributes *Annotation*
-keepclassmembers class * {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}
##########################
#          YOYO          #
##########################
-keep class com.daimajia.easing.** { *; }
-keep interface com.daimajia.easing.* { *; }
-keep class com.daimajia.** { *; }
-dontwarn com.daimajia.**
-keepnames class com.daimajia.**
##########################
#        PDFVIEW         #
##########################
-keep class com.shockwave.**
##########################
#      DOWNLOADER        #
##########################
-keep class com.downloader.** {*;}
##########################
#       MY_FILES         #
##########################
-dontwarn com.app.app.data.model.**
-keep class com.app.app.data.model.** { *;}
-dontwarn com.app.app.utils.custom_view.**
-keep com.app.app.utils.custom_view.** { *;}

Покажите мне ошибку для строки 88 и строки 88 - -keep com.app.app.utils.custom_view.** { *;}!

Как я могу это исправить

1 Ответ

0 голосов
/ 11 апреля 2020

Как указывает ошибка, у вас есть синтаксическая ошибка в ваших правилах ProGuard, которая стоит после ключевого слова keep, вам необходимо указать тип перед предоставлением имени.

В этом случае вам не хватает слова class.

Просто измените строку

-keep com.app.app.utils.custom_view.** { *;}

на

-keep class com.app.app.utils.custom_view.** { *;}

Подробнее о настройке файла правил читайте в Руководстве ProGuard .

...