【发布时间】:2019-04-13 14:26:25
【问题描述】:
我一直在尝试将 AndroidX 集成到我的混合 React Native 项目中,但遇到了 Jetifier 无法在“本地”项目上运行的问题。这导致我所有的 React Native 库仍然使用旧的支持库。我已将适当的行放入我的 gradle.properties 文件中:
android.useAndroidX=true
android.enableJetifier=true
这适用于任何远程库,但 React Native 将其所有库作为本地模块放在磁盘上。
我已经尝试了很多东西,但到目前为止,我最好的解决方案是一个 post package-install 脚本,它基本上手动替换所有包并将库添加/删除到各种 gradle 脚本。
这是一个非常手动的过程,不是超级可持续的。有没有更好的方法来处理这个问题?
【问题讨论】:
-
这是 React Native GitHub 上与您的问题相对应的问题。 github.com/facebook/react-native/issues/23112。可能很快就会修复,所以使用 AndroidX 不会有任何问题。
-
该脚本随手可得。会喜欢一个要点。谢谢
-
很遗憾,我们只是决定暂时暂缓迁移到 AndroidX。鉴于剧本的不可持续性质,我们最终没有完成剧本。不过希望这些修复程序很快就会被合并!
-
我通过分叉存储库(大约 8 个)然后重定向纱线以使用分叉来做到这一点:github.com/greg7gkb?tab=repositories 我没有编写脚本,而是将分叉的库导入 Android Studio 并运行 Refactor -> Migrate to安卓X。在上述问题正式解决之前作为临时解决方案很好。
-
有没有比 fork 包并手动迁移到 androidx 更好的解决方案?在这些发布后developers.google.com/android/guides/releases 我的 react native 项目无法为 android 构建。
标签: android react-native react-native-android androidx android-jetifier