测试环境 / 依赖项 Android Studio:Android Studio Arctic Fox Beta 2 和 Bumblebee Canary 1 AGP:7.1.0-alpha01 Firebase Analytics:com.google.firebase:firebase...
我一直在尝试使用Android的Baseline Profile和MacroBenchmark库来提高应用程序的性能。 我的问题是,建议使 MacroBenchmark的构建类型与 release 构建尽可能接近,但在Proguard规则中加入 -dontobfuscate 。 如果生产应用...
最新版的Android Studio (3.4) 刚发布,它默认支持 R8 而非 Proguard。有人能解释一下两者之间的关键差异以及使用 R8 的任何显著好处吗?
我在应用程序的发布版中遇到了一个奇怪的问题。以下是我的异常信息:Fatal Exception: java.lang.NullPointerException` throw with null exception in.hopq.hopq.authentication.models.AppUp...
随着安卓工作室引入了两个新工具D8和R8。 根据谷歌文档,D8是一个DEX工具,而R8是一个progourd工具,但是根据他们的解释,两者都在做以下几乎相同的事情: D8是一个dexer,将java字节码转换为dex代码。 R8是一个Java程序缩小和最小化工具,将Java字节码转换为优化的...
在启用 Android Studio 3.4-RC3 上的 R8 后,构建失败并出现以下错误。如果使用 android.enableR8=false,则构建成功。 编译期间遇到了未定义的值。这通常是由于无效的 dex 输入引起的,该输入使用了一个在导致使用的所有控制流路径上都没有定义的寄存器...
最近,Android Studio默认使用R8代替ProGuard。 即使代码被混淆,来自ProGuard的堆栈跟踪也很容易理解,而无需使用任何工具。让我们以以下示例为例: java.lang.NullPointerException: Attempt to invoke virtual...
在 build.gradle(app)文件中,默认情况下,我们有以下内容,buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-...
构建已签名的发布版 APK 时,我遇到以下错误: .gradle/caches/transforms-2/files-2.1/532a317ccd54c8ae4f622faeb8b534a9/jetified-wordup-core-0.2.1-runtime.jar:de/coderedd...
我将我的Android Studio版本从4.1升级到了4.2,但由于Proguard版本太旧(4.7)且与Java 10不兼容,我的项目不能编译。因此,我决定将项目从Proguard迁移到R8,但是出现了以下错误: “文件未找到:/Applications/Android Studio.ap...