android-r8相关内容

R8 更改“受保护"抽象类的方法“公共"没有 -allowaccessmodification 标志

我有 R8 的问题.在 MyLib 中,我有公共抽象 MyLibsClass,其中我有保护方法.MyChildClass 从 MyApp 中的 MyLibsClass 扩展而来,在 R8 的魔法之后,MyLibsClass 中的所有受保护的方法(包括受保护的抽象)都被改变了进入公共的,当然在 MyChildClass 我得到 “试图分配较弱的访问权限(“受保护");是 'public') 问题,因 ..
发布时间:2021-11-21 21:32:34 移动开发

使用 R8 混淆应用程序导致超出 GC 开销限制

我刚刚将 Android Studio 更新到 v3.4.1 现在我无法在设置 minifyEnabled true 时生成签名的应用程序 我现在知道默认的代码压缩器是 R8.正如日志所说,这就是问题所在.如果 minifyEnabled 设置为 false,我可以毫无问题地生成签名的应用程序. 这发生在我所有的项目中. 运行: Windows 10 64 位 8 G ..
发布时间:2021-11-21 20:09:49 移动开发

Proguard (R8) 否定操作员不保留某些包以外的任何东西

proguard 中的否定符(感叹号)应该允许我保留 apache 库之外的其他内容: -保持类 !org.apache.** 根据这些答案.这就是要走的路: 如何使用 Proguard 否定类名 启用大型Android应用程序中只有两个包的Proguard Android proguard 忽略除一个以外的所有类 Proguard Android 不会混淆除少数类之外的任何内容 ..
发布时间:2021-11-15 21:22:48 移动开发

使用 R8 混淆应用程序导致超出 GC 开销限制

我刚刚将 Android Studio 更新到 v3.4.1 现在我无法在设置 minifyEnabled true 时生成签名的应用程序 我现在知道默认的代码压缩器是 R8.正如日志所说,这就是问题所在.如果 minifyEnabled 设置为 false,我可以毫无问题地生成签名的应用程序. 这发生在我所有的项目中. 运行: Windows 10 64 位 内存 ..
发布时间:2021-11-02 23:29:10 移动开发

Firebase + Proguard/R8

我目前正在我的项目中设置Firebase(FCM),并且当我运行混淆了R8的应用程序时遇到了问题,Firebase服务(FirebaseMessagingService)不再起作用.有没有人遇到过同样的问题?有解决办法吗? UPD :最后,我通过降级到 为FCM修复了该问题 com.google.firebase:firebase-messaging:15.0.0 现在正在使用一些 ..
发布时间:2021-05-08 18:40:03 移动开发

D8和R8 Android之间的区别

随着android studio引入了两个新工具D8和R8.根据google文档,D8是dex工具,R8是progourd工具,但由于它们的解释,它们都在执行如下所示的几乎相同的操作: D8是将Java字节码转换为dex代码的dexer. R8是一个Java程序缩小和缩小工具,可将Java字节码转换为优化的dex代码. 似乎两个都将java字节代码从字面上转换为dex代码.那么, ..
发布时间:2021-04-05 20:06:07 移动开发

为什么R8不重命名所有方法和类?

我第一次尝试使用具有混淆和代码优化功能的R8的Android Studio版本. 官方文档说: 混淆您的代码 混淆的目的是通过缩短应用程序的类,方法和名称来减小应用程序的大小字段. 我认为R8将重命名所有方法和类名,但是如果我通过"Build->"分析APK,分析APK ..."我可以阅读大多数原始方法和类名. ..
发布时间:2021-04-04 21:00:36 移动开发

在Android Studio中启用R8 Shrinker时,超出了GC开销限制

我正在使用Android Studio 3.4(金丝雀9),当我构建我的应用程序时,它失败并出现以下错误 任务:app:transformClassesAndResourcesWithR8ForDebug R8是实验功能.如果您遇到任何问题,请提交错误在 https://issuetracker.google.com 上,使用“收缩器(R8)"作为组件姓名.您可以通过使用以下命令更新g ..
发布时间:2021-04-04 20:47:01 移动开发

R8缩小:多次定义类型

在构建签名发行版APK时,出现以下错误: .gradle/caches/transforms-2/files-2.1/532a317ccd54c8ae4f622faeb8b534a9/jetified-wordup-core-0.2.1-runtime.jar:de/codereddev/wordup/database/WordDao_Impl $ 5.class,多次定义类型de.coder ..
发布时间:2021-04-04 20:35:03 移动开发

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

我在我的应用程序中使用R8,并且具有几个自定义视图(在xml布局中引用),它们的名称完全没有混淆.有什么办法可以做到这一点?我正在使用标准的Gradle规则: 版本{minifyEnabled是rinkResources trueproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rule ..
发布时间:2021-04-04 20:23:09 移动开发

如何使用R8将原始行号保留在堆栈跟踪中?

我正在尝试找出如何使用R8保留原始行号. 使用当前的AndroidStudio开发应用程序并使用R8对其进行混淆,甚至将 mapping.txt 文件上传至Google Play控制台,在某些情况下,用户的堆栈跟踪都是无用的,因为崩溃与真正的未混淆文件中的崩溃不同. 这是一个示例,我的班级没有3000行,但是在3052行中报告了错误( com.mypackage.activities. ..
发布时间:2021-04-04 20:22:20 移动开发

用Kotlin编写的Android库公共API中的R8 + JvmStatic注释+ Lambda处理

首先,请注意,我不希望出现why do you want to obfuscate library注释.这是我要问的一个真正的问题. 在用Kotlin编写的Android库处理R8/混淆处理时,我一直遇到问题. 我有一个用@JvmStatic注释的公共API方法,该方法将Lambda作为参数. 例如,看下面的代码, typealias MyLambdaCallback = ..
发布时间:2021-02-15 19:27:06 其他开发