同时使用 ProGuard 和 R8

     2023-05-06     228

关键词:

【中文标题】同时使用 ProGuard 和 R8【英文标题】:Using both ProGuard and R8 【发布时间】:2019-09-29 19:05:40 【问题描述】:

我希望 ProGuard 和 R8 都执行代码压缩和优化:我敢肯定,经过一年的开发,R8 不会像经过 15 年的 ProGuard 一样酷。

android.enableR8 标志启用 R8 而不是 ProGuard。

有没有办法使用官方Android工具链来使用这两种工具,i。 e.带有 Android 插件的 Gradle?

【问题讨论】:

【参考方案1】:

在 Android Studio 中不支持同时运行 R8 和 ProGuard。我建议你比较两个收缩器的结果,然后决定你要坚持哪一个。如果您发现 R8 产生的输出比 ProGuard 大,请通过使用 this link 提交错误报告告诉我们。

【讨论】:

对于我的“hello world”应用程序,fullMode 中的 R8 生成的 DEX 比 ProGuard 略小。但大小并不是唯一的判断标准。 R8 缺少 ProGuard 实现的许多优化。 ProGuard 出现在 Android 之前,并且会在它之后出现,它没有停产,正在添加更多功能。

R8 和 Proguard 规则

】R8和Proguard规则【英文标题】:R8andProguardRules【发布时间】:2020-11-1612:04:19【问题描述】:我在我的android项目中使用https://github.com/amalChandran/trail-android这个库。动画工作得很好。但是,启用R8后,动画无法正常工作。该库没有... 查看详情

在 Android 中使用 R8 和 Proguard 时如何保护数据模型类免受逆向工程的影响?

】在Android中使用R8和Proguard时如何保护数据模型类免受逆向工程的影响?【英文标题】:HowtosecuredatamodelclassesfromreverseengineeringwhenusingR8andProguardinAndroid?【发布时间】:2020-04-0315:47:16【问题描述】:现在,在对android应用程序APK文件... 查看详情

保留规则的 Proguard/R8 例外

】保留规则的Proguard/R8例外【英文标题】:Proguard/R8exceptiontoakeeprule【发布时间】:2021-12-2318:13:13【问题描述】:我正在尝试使用R8/Proguard删除日志记录,并且我使用了-assumenosideeffectsclassandroid.util.Logv(...);d(...);i(...);w(...);e(...);效果... 查看详情

在 Android 上使用 R8 时,是不是需要卸载现有的 Proguard?

】在Android上使用R8时,是不是需要卸载现有的Proguard?【英文标题】:WhenusingR8onAndroid,doIneedtouninstallmyexistingProguard?在Android上使用R8时,是否需要卸载现有的Proguard?【发布时间】:2019-06-2308:20:48【问题描述】:使用R8时是否需要... 查看详情

使用 proguard / R8 删除数据类元数据

】使用proguard/R8删除数据类元数据【英文标题】:Dataclassmetadataisremovedwithproguard/R8forKotlin1.6.0【发布时间】:2022-01-1518:41:31【问题描述】:我有一个包含一些数据类的包,我试图在运行时使用Kotlin反射clazz.primaryConstructor访问构造函... 查看详情

如何修复因 ProGuard/R8 导致的崩溃?

】如何修复因ProGuard/R8导致的崩溃?【英文标题】:HowtofixcrashesduetoProGuard/R8?【发布时间】:2019-03-0602:14:07【问题描述】:我正在制作一个简单的应用程序,它运行良好,但是当我尝试使用ProGuard缩小/混淆代码时,当我打开另一... 查看详情

Proguard (R8) 混淆自定义视图名称

】Proguard(R8)混淆自定义视图名称【英文标题】:Proguard(R8)obfuscatecustomviewnames【发布时间】:2020-10-0916:01:21【问题描述】:我在我的应用程序中使用R8并且有几个自定义视图(在xml布局中引用),但它们的名称根本没有被混淆。有... 查看详情

脱糖与dxd8r8

...ff1a;D8D8作用:脱糖+将.class字节码转换成dexR8整合了Proguard和D8,减少了一个编译步骤,同时保留了字节码优化能力两者关系1、ProGuard→压缩、优化和混淆Java字节码文件的免费工具,开源仓库地址:proguardhttps://githu... 查看详情

脱糖与dxd8r8

...ff1a;D8D8作用:脱糖+将.class字节码转换成dexR8整合了Proguard和D8,减少了一个编译步骤,同时保留了字节码优化能力两者关系1、ProGuard→压缩、优化和混淆Java字节码文件的免费工具,开源仓库地址:proguardhttps://githu... 查看详情

脱糖与dxd8r8

...ff1a;D8D8作用:脱糖+将.class字节码转换成dexR8整合了Proguard和D8,减少了一个编译步骤,同时保留了字节码优化能力两者关系1、ProGuard→压缩、优化和混淆Java字节码文件的免费工具,开源仓库地址:proguardhttps://githu... 查看详情

Android/Java 混淆:R8 与(ProGuard 或 DexGuard)?

】Android/Java混淆:R8与(ProGuard或DexGuard)?【英文标题】:Android/Javaobfuscation:R8vs(ProGuardorDexGuard)?【发布时间】:2019-03-1923:27:24【问题描述】:我想知道最强大的混淆工具是什么(避免逆向工程):R8和ProGuard之间R8和DexGuard之间谢... 查看详情

Proguard 和 R8 没有优化我的库代码

】Proguard和R8没有优化我的库代码【英文标题】:ProguardandR8don\'toptimizemylibrarycode【发布时间】:2020-10-0807:10:58【问题描述】:当我将自己的库连接到项目时,它没有优化。所以:在我的库中,我打开了minifyEnabled:applyplugin:\'com.and... 查看详情

Proguard/R8 规则排除资产文件夹

】Proguard/R8规则排除资产文件夹【英文标题】:Proguard/R8ruletoexcludeassetfolder【发布时间】:2019-10-0310:47:51【问题描述】:我的项目由主模块组成,然后是其他模块依赖项。一种这样的依赖是“公地”。在“commons”中有一个名为“f... 查看详情

proguard-rules.pro 似乎不适用于 R8

】proguard-rules.pro似乎不适用于R8【英文标题】:proguard-rules.prodoesnotseemtoworkwithR8【发布时间】:2019-09-1204:29:34【问题描述】:我今天早些时候将我的AndroidStudio升级到了3.4,这是我第一次使用默认的压缩器R8。我将一个库项目的progu... 查看详情

无法从 R8 配置中删除“-ignorewarnings”(Android Proguard 问题)

】无法从R8配置中删除“-ignorewarnings”(AndroidProguard问题)【英文标题】:Unabletoremove"-ignorewarnings"fromR8Configuration(AndroidProguardIssue)【发布时间】:2020-10-1618:39:31【问题描述】:我正在尝试构建一个启用了proguard和r8的android... 查看详情

Firebase + Proguard/R8

】Firebase+Proguard/R8【英文标题】:【发布时间】:2020-05-1623:37:42【问题描述】:我目前正在我的项目中设置Firebase(FCM),但在运行我的R8混淆应用时遇到了问题,Firebase服务(FirebaseMessagingService)不再工作。有没有人遇到过同样的问题... 查看详情

Android/java:从 ProGuard 到 R8 的过渡/迁移?

】Android/java:从ProGuard到R8的过渡/迁移?【英文标题】:Android/java:Transition/MigrationfromProGuardtoR8?【发布时间】:2019-03-1923:31:08【问题描述】:我想知道如何从ProGuard过渡/迁移到R8。我应该从我的Gradle文件中删除与Proguard相关的行并... 查看详情

Android R8(Proguard) 参数名称已更改(我不想更改我的参数名称)

】AndroidR8(Proguard)参数名称已更改(我不想更改我的参数名称)【英文标题】:AndroidR8(Proguard)parameternamechanged(idon\'twantchangemyparametername)【发布时间】:2022-01-1808:29:59【问题描述】:我使用agp(androidgradle插件)7.0.4运行proguard->接口... 查看详情