问题标签 [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.

0 投票
0 回答
565 浏览

android - 由 android.content.res.Resources$NotFoundException 引起:无法找到资源 ID #0x7f0802ec

将我的 android build Gradle 版本从 3.2.1 更改为 3.5.0,将 gradle 版本从 5.1.1 更改为 5.4 并将支持库更新为 androidx 后。我们遇到了这个新问题,即找不到大量资源。

Android-studio 版本为 3.5

虽然缺少的 id(drawable)(可以说 ImageA)根本没有用于该行号,但存在于文件夹中。“ImageB”用于该行号。Drawable 以 png 格式存储在所有相应的文件夹中(hdpi、mdpi、xhdpi、xxhdpi、xxxhdpi) ImageA 和 ImageB 看起来相同,但在各自的文件夹中具有不同的大小。我们已经尝试更改资源的名称,但问题仍然存在,并且禁用 r8 并没有编译/构建项目。

我们无法确定这是r8还是bundle的问题。

看过这个这个帖子,但它们与字符串资源有关。

0 投票
0 回答
669 浏览

android - com.google.android.gms.internal.measurement.zzdb 类型被引用为来自 `com.google.android.gms.analytics.AnalyticsJobService` 的接口

我已经在 github 和 SO 上浏览过类似的帖子,但不确定哪个组合会导致冲突。

这种依赖组合在调试版本中有效,但发布版本出现错误 -

Gradle 依赖项和版本:

0 投票
1 回答
310 浏览

java - 程序类型已经存在:androidx.recyclerview.widget.AdapterHelper$Callback

我在 android studio 中有一个 R8 错误,错误相同:

这是我的 gradle 依赖项:

我必须补充:

或者:

用于使用 TabLayout

但是当我添加那个实现时,我得到了那个错误。

0 投票
0 回答
7961 浏览

android - Android R8 - 缺少类

我正在使用 Android-R8 并且存在以下 R8 警告:

APK 已成功构建,但无法安装。有没有人有类似的问题?

0 投票
0 回答
45 浏览

android - 在调试模式下迁移到 Android R8 后,初始屏幕显示不相关的布局视图而不是初始布局视图

显示非相关布局视图而不是启动布局视图的启动画面。

当从开发构建变体移动到调试模式下的 prod 构建时,在使用 Android Studio 3.5.1 和 Gradle Plug-in 3.5.1 (使用 proguard-android-optimize.txt 启用 minifyEnabled 和 shrinkResources)迁移到 Android R8 后,会发生这种情况.

此行为仅发生一次,并且在更改为非优化模式时发生,反之亦然,该问题不再发生。这种行为以前从未发生过。

有没有人有类似的经历?

它与android R8有关吗?

请协助。

0 投票
1 回答
203 浏览

android-gradle-plugin - R8 / Android Gradle Plugin 是否足够智能以保持仅在测试 apk 中需要的库类/方法?

假设我有一个依赖于库的应用程序。这个库有两种方法:

  • void usedInApp()
  • void usedInTest()

在我调用的应用程序usedInApp()中。我还有一个仪器测试调用usedInTest(). 如果我运行仪器测试./gradlew app:connectedDebugAndroidTest,R8/AGP 是否足够聪明,可以知道是保留usedInTest()还是删除?

0 投票
2 回答
665 浏览

android - 当 R8 缩小代码时,Android 生命周期观察者不会触发

当我使用minifyEnabled=true生命周期观察者构建代码时,不会触发任何事件。

androidx.lifecycle:lifecyclewith version 2.2.0-rc01(以前的版本也可能受到影响)。

compileSdkVersion正在28Android 10 (API29) 模拟器上进行测试。

0 投票
1 回答
1110 浏览

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

我第一次尝试使用 R8 执行混淆和代码优化的 Android Studio 版本。

正如官方文档所说:

混淆你的代码

混淆的目的是通过缩短应用程序的类、方法和字段的名称来减小应用程序的大小。

我认为 R8 会重命名所有方法和类名,但是如果我通过“Build -> Analyze APK...”分析 APK,我可以读取大部分原始方法和类名。

在此处输入图像描述 在此处输入图像描述

Contenuti是 Activity 中提到的manifest.xml

mostraView并且nascondiView是我创建的方法,它们不在任何库中,它们不扩展任何内容,所以我希望看到它们的名称发生变化。

这 R8 的行为是否正确?

如何设置 R8 来混淆所有这些,或者至少这两个?

非常感谢!

0 投票
2 回答
1525 浏览

android - 使用 AndroidX 时,proguard-android-optimize.txt 中的“@Keep 支持注释”规则是否仍然适用?

proguard-android-optimize.txt作为proguard文件申请是很常见的。

但是,当我浏览内容时proguard-android-optimize.txt

我想知道,如果这样的规则仍然适用,我们是否使用 AndroidX 而不是支持库?我们是否应该在项目中明确添加以下规则proguard-project.txt

0 投票
2 回答
526 浏览

android - 构建 androidTest apk 得到 R8 错误:“已经有一个映射”

我已添加minifyEnabled=true到我的“发布”版本中。该应用程序运行正常。并且 androidTest apk 运行正常(所有测试都通过)。

如果我将以下任何内容添加到 proguard-rules.pro:

应用程序 apk 将毫无错误地构建,但在构建 androidTest apk 时,我得到 ~4000 R8“已经有映射”任务错误:

(截断的)错误日志是

androidTest构建错误:已经有一个映射

似乎出现错误的方法位于第 3 方库中(作为依赖项包含在内)。

提前感谢您的帮助。