Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中添加r8规则?_Android_Performance_Proguard_Android R8 - Fatal编程技术网

如何在android中添加r8规则?

如何在android中添加r8规则?,android,performance,proguard,android-r8,Android,Performance,Proguard,Android R8,我们如何在android项目中为依赖项添加R8规则,并将文件和包排除在缩小和模糊处理之外?添加R8规则类似于progurad规则,但有些依赖项我们不需要在R8中添加规则,文档中可能会提到。Android Studio 3.4 R8是默认的代码收缩器 在build.gradle应用程序模块中添加此行 buildTypes { release { minifyEnabled true //Important step shrinkResources true

我们如何在android项目中为依赖项添加R8规则,并将文件和包排除在缩小和模糊处理之外?

添加R8规则类似于progurad规则,但有些依赖项我们不需要在R8中添加规则,文档中可能会提到。Android Studio 3.4 R8是默认的代码收缩器

在build.gradle应用程序模块中添加此行

 buildTypes {
    release {
        minifyEnabled true //Important step
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
选择proguard-rules.pro

添加规则以排除包或文件

-keep class com.xyz.model.** { *; }
上面的代码从minifing中排除模型包,最好从minifing中排除您的网络pojo类

如果您添加的任何依赖项有proguard/R8规则,请同时添加它,注意:像Reformation这样的库我们不需要在R8中添加它,它将在相应的github页面中提到

    -keepattributes *Annotation*
-keepclassmembers class * {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}
以上示例适用于绿色机器人程序保护规则。只需将其复制粘贴到proguard-rules.pro文件中即可


供参考:

添加R8规则与progurad规则类似,但有些依赖项我们不需要在R8中添加规则,文档中可能会提到。Android Studio 3.4 R8是默认的代码收缩器

在build.gradle应用程序模块中添加此行

 buildTypes {
    release {
        minifyEnabled true //Important step
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
选择proguard-rules.pro

添加规则以排除包或文件

-keep class com.xyz.model.** { *; }
上面的代码从minifing中排除模型包,最好从minifing中排除您的网络pojo类

如果您添加的任何依赖项有proguard/R8规则,请同时添加它,注意:像Reformation这样的库我们不需要在R8中添加它,它将在相应的github页面中提到

    -keepattributes *Annotation*
-keepclassmembers class * {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}
以上示例适用于绿色机器人程序保护规则。只需将其复制粘贴到proguard-rules.pro文件中即可


参考:

可能重复的改装官方文件可能重复提到您必须添加改装规则谢谢,如果您使用的是R8,请检查此@ELTEGANIMOHAMEDHAMMAD收缩和模糊规则将自动包括在内。ProGuard用户必须手动添加此文件中的选项。注意:您可能还需要OkHttp和Okio的规则,这是本库的依赖项。改装的官方文档提到您必须添加改装规则。谢谢,如果您使用的是R8,请检查此@ELTEGANIMOHAMEDHAMMAD。自动包括收缩和模糊规则。ProGuard用户必须手动添加此文件中的选项。注意:您可能还需要OkHttp和Okio的规则,它们是此库的依赖项