问题标签 [android-d8]
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 - Code shrinker R8 在启动时使我的 Xamarin.Android 应用程序崩溃,并且无法获取提供程序 com.google.firebase.provider.FirebaseInitProvider
我有一个 Xamarin.Android 应用程序,我最近切换到使用 R8 代码收缩器。不幸的是,我的应用程序在启动时崩溃并出现以下错误:
我找到了这篇文章,它与 MultiDex 和原生 android 更相关,并没有帮助。
然后我发现了这篇带有文件定义的Xamarin.Android 特定文章。multiplex.keep
我已添加文件multiplex.keep
并将构建操作设置为MultiDexMainDexList
:
结果是同样的崩溃,所以我不得不禁用代码收缩器并暂时使用它。
请告知,我如何启用 R8 代码收缩器(我确实想要更快的构建和更小的包)而不是在启动时使应用程序崩溃?
android - DX被D8取代后,为什么Android还保留DX?
为什么 Android 仍将 DX 保留在其更新的替代品 D8 上?
结果:
这是我使用的程序(文件Primes.java):
以下是我将其编译为.dex文件的方法:
结果:
然后我清理地址,注册名称和评论以便能够比较:
那时它们几乎相同,但不完全一样:
android - 如何确定用于创建 apk 的 dx/d8 版本?
如何确定在创建我的 apk 时使用了哪个 dex 编译器(dx/d8) 版本+标志?
然后我得到以下详细信息:
所以这意味着cmdline-tools/build-tools/28.0.0/dx
被使用了???
jar - r8 不创建输出 dex 文件
我正在尝试使用r8
但没有取得多大成功:
但是d8
它可以完美运行(即使没有--lib android.jar
and --lib recycleview.jar
):
编辑
尝试创建 fastadapter proguard keep 规则失败:
这有点奇怪,因为 targetSdkVersion 实际上确实存在:
flutter - D8:程序类型已经存在:com.google.protobuf.AbstractMessageLite$Builder$LimitedInputStream
我在我的颤振项目中遇到以下错误,并且不知道如何解决它错误:
构建.gradle
我已经尝试升级所有内容。也尝试通过现有的可用相关答案解决它,但对我没有任何帮助。还检查了 protobuf 没有两个类。尝试删除构建,.gradle 文件
runtimeexception - d8 dex 编译因脱糖而失败
我无法让 d8 dex 编译器编译我的 jar 包:
我试图阅读有关脱糖问题的信息,但没有走得太远——这个罐子有什么问题?
android - 如何将 Multidex 支持添加到 Android d8.bat 命令行
我正在使用 Delphi 的 Androids d8 编译器,我需要启用 MultiDex。在 Android Studio 中,将以下内容添加到 Gradle 文件中:
defaultConfig { minSdkVersion 14 targetSdkVersion 22 multiDexEnabled true }
但是因为我使用的是 Delphi,所以我不能那样做。如何打开对命令行工具 d8.bat 的 MultiDex 支持?
android - 无法使用 d8 进行 dex
我试图运行 D8 来 dex 我的应用程序,而我遇到了这个错误错误是
com.android.tools.r8.-$$Lambda$BaseCompilerCommand$Builder$2aB0nZkbJUiBrRZnNpn_FVzp9O0
android - 为 B4A 生成脱糖库
我正在为 B4A 框架制作一个 Android 库。情况
如下:
- 我的 Android 库使用 Java8 功能(例如 Lambda)
- B4A (Basic4Android) 使用 legacy
dex
(而不是d8
)来制作应用程序,因此与 java8 不兼容,并且不会自行脱糖。
在 B4A 中使用我的aar
文件会导致以下错误:
官方论坛的解决方案是使用Bazel 的 desugar tool对库的 Jar 进行脱糖,但似乎它导致Expected a load for ...
了不同的错误,而不是我的问题。
我的问题:
对于这些情况,是否可以使用 Android Studio
生成脱糖aar
库(与 Java7 兼容且无 lambda)?
我知道d8
会脱糖,但它的输出是.dex
文件而不是.jar
文件。
我尝试过的:
Android 的Using Java 8 Feature中所说的解决方案没有帮助,因为它不会产生兼容的 jar 并且错误仍然存在。