【问题标题】:Issues using AndroidX and React Native使用 AndroidX 和 React Native 的问题
【发布时间】: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


【解决方案1】:

目前不需要单独安装喷射器。

只使用

npx jetify

【讨论】:

    【解决方案2】:

    试试这个 --> 右键单击​​应用文件夹 > 重构 > 迁移到 AndroidX 并单击迁移

    https://github.com/facebook/react-native/issues/25307#issuecomment-504752098

    【讨论】:

    • 哇 android studio 一次让事情变得简单!
    【解决方案3】:

    尝试在安装后脚本中使用下面的 npm Jetifier 包

    https://www.npmjs.com/package/jetifier

    来自自述文件:

    Make sure your app is AndroidX
    npm install --save-dev jetifier
    npx jetify (may take a while)
    npx react-native run-android
    

    【讨论】:

    • 我收到以下错误,这个答案解决了我的问题。 package android.support.annotation does not exist
    猜你喜欢
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    相关资源
    最近更新 更多