问题标签 [android-r8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在编译期间调试 R8?
在编译 Android 项目期间有什么方法可以调试 R8 吗?
我有一个非常奇怪的错误,随便修复也无济于事
android - Android 和 Akka 2.5 集成
我一直在尝试在 Android 应用程序中使用 Akka 2.5,但没有成功。我遇到了很多问题:
- 使用 Android 标准库时的第一次失败
IndexOutOfBound
是在 R8 上引用Akka
方法时com.android.tools.r8.graph.OffsetToObjectMapping
- 使用Retrolambda时的第二个失败是应用程序在尝试
ActorSystem
用 a实例化ClassNotFoundException
时崩溃MainActivity
有没有人成功地将 Akka 2.5 与 Android 一起使用?如果是,我该如何在 Android 上完全支持 Akka 2.5?
android - Android R8 Code Shrinker 和 AWS CodePipeLine:java.lang.StackOverflowError(无错误消息)
我请一位同事启用带有 Github 存储库的 AWS CodePipeLine,以检查合并到develop
分支的拉取请求。
这些是 AWS 在构建阶段运行的命令,它们定义在一个名为buildspecs.yml
执行./gradlew build
命令后,AWS CodwPipeline 会抛出以下消息:
据我了解,R8 在压缩代码时内存不足,问题是,我不知道如何在 AWS 端解决这个问题(如果是从那端),或者我是否需要定义一些设置一个文件,例如build.gradle
为了让 AWS 知道为 R8 分配了多少内存,考虑到内存是问题所在。
这是来自 Android 项目方面还是来自 AWS?还是缺少任何配置?
android - Proguard和R8有什么区别?
新版本的 Android Studio (3.4) 刚刚问世,它默认支持 R8 而不是 Proguard。有人可以解释两者之间的主要区别以及使用 R8 的任何明显好处吗?
android - 重复的 jar 条目
我试图混淆我的代码并进行发布构建,但是当我这样做时,我得到了一个 Duplicate Jar 条目,其中 proguard 或程序类型在使用 R8 时已经存在。它抱怨的类我通过在它的类路径中指定类来覆盖,这样我就可以覆盖一个库类。
假设库有一个类 com.example.A。我将类路径 com.example 放在我的项目中,并有一个名为 A 的类具有相同的签名,但稍微改变了性能日志记录的行为,我认为这是一个很好的补充。现在代码在创建发布版本时不会编译,但它在覆盖库类的调试版本上按预期工作。
任何人都经历过这种情况并对我如何保持我的覆盖课程有建议?所有在线文档都指定摆脱有问题的重复项,而不是使用某种强制解决路径。
android - 更新 Android Studio 后是否在现有项目上启用了 r8?
我更新了 Android Studio,如果我是正确的,更新默认包含 R8 到我的项目中。问题是 r8 仅在默认情况下仅在新项目上激活,还是更新包括对我已经创建的项目的更改?如果没有,我该如何利用它。
android - 使用代码收缩器 R8 使用 Android Studio 3.4 构建时出现 OutofMemory 问题
我正在使用最新的稳定版 Android Studio - 3.4。当我构建调试 apk(没有 proguard)时,它工作正常。但是在获取发布版本时问题就来了。它默认使用最新的 R8 收缩器。
它给了我一个内存不足的错误。我尝试更改 gradle.properties 文件中的值,如下所示,这发生在执行transformClassesAndResourcesWithR8ForRelease任务时。
它仍然给我同样的错误。
最后我尝试通过在 gradle.properties 文件中使用这一行来禁用 R8,
但仍然在构建任务中,我可以看到它正在执行这个任务transformClassesAndResourcesWithR8ForRelease并给我同样的错误。
这些是错误日志
那么以前有人遇到过这个问题吗?有没有人想出解决办法?任何建议将不胜感激。
android - Gradle 5.1.1 更新打破了我在 Android 中的 proguard 规则
我将我的 gradle 版本更新到 5.1.1,突然它打破了我的一些 proguard 规则(应用程序崩溃)。我使用的这个库就是一个例子: https ://github.com/LeonardoCardoso/Android-Link-Preview
我应用了proguard规则:
之前(v4.10.1 及更低版本)可以工作,但现在它坏了,它给出了这个错误:
我的问题是,您在将版本更新到 5.1.1 时是否添加了任何特殊规则?我知道从这个版本的 Android Studio (3.4) 开始,它也带有 R8。
android - 使用 R8 构建 Android 失败
在 android studio 3.4-RC3 上启用 R8 时构建失败并出现以下错误。构建成功,如果android.enableR8=false
编译期间遇到未定义的值。这通常是由无效的 dex 输入引起的,该输入使用未在导致使用的所有控制流路径上定义的寄存器。
这个未定义的值是什么,我该如何解决这个错误?