迁移到 AndroidX 并将所有 AndriodX 包更新到最新版本后,构建将失败,在obj文件夹中构建生成的 XML 文件中向我显示三个类似的错误:
\obj\Debug\100\lp\117\jl\res\values\values.xml:在预期项目的位置找到标签 IDXML 文件内容为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<id name="view_tree_lifecycle_owner"/>
</resources>
Run Code Online (Sandbox Code Playgroud)
\obj\Debug\100\lp\121\jl\res\values\values.xml:在预期项目的位置找到标签 IDXML 文件内容为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<id name="view_tree_saved_state_registry_owner"/>
</resources>
Run Code Online (Sandbox Code Playgroud)
\obj\Debug\100\lp\123\jl\res\values\values.xml:在预期项目的位置找到标签 IDXML 文件内容为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<id name="view_tree_view_model_store_owner"/>
</resources>
Run Code Online (Sandbox Code Playgroud)
在网上寻找解决方案后,我只是在每个生成的文件中更改<id name="...为<item type="id" name="...并且构建成功(即使我每次清理/重建时都必须重新执行此操作)。
但是,在应用程序的启动画面之后,应用程序崩溃并显示以下异常:
Java.Lang.RuntimeException:'无法获取提供程序 androidx.lifecycle.ProcessLifecycleOwnerInitializer:java.lang.ClassNotFoundException:在路径上找不到类“androidx.lifecycle.ProcessLifecycleOwnerInitializer”:DexPathList...
我查了一下,发现了许多建议启用和/或配置多 dex 的解决方案,但没有一个有效。
仅当链接设置为Sdk Assemblies Only或时才会出现此问题Sdk and User Assemblies。
以下是一些对我不起作用的配置:
我曾尝试启用/禁用 Enable Multi-Dex在Android Options项目属性选项卡。 …