Pri*_*mza 6 android react-native react-native-android
我在React Native Android项目上工作,但我被卡在这个错误上
> Task :app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED
D8: Program type already present: androidx.versionedparcelable.NonParcelField
FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud)
我试图在build.gradle中将multi dex更改为false
defaultconfig {...
multiDexEnabled false
...}
Run Code Online (Sandbox Code Playgroud)
我不想迁移到androidx,我只想摆脱androidx&这个错误; 请帮助我,在此先感谢
根据我的研究,找不到简单的方法,或者我应该说一种从 androidx 退出的正确方法,要解决上述问题,只需将以下内容添加到您的gradle.properties
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
这可能会导致另一个问题,例如
任务 ':react-native-navigation:compileReactNative57_5DebugJavaWithJavac' 执行失败
这个错误的原因,如果它发生了,在将你的 android 项目迁移到 androidx 之后,你的许多 react-native 库都提供了本地 Java 代码并且没有更新,手动更新它很乏味,我可以通过使用它来做到这一点库jetifier只需运行
npm i --save-dev jetifier
npx jetify
Run Code Online (Sandbox Code Playgroud)
就我而言,仍有一些库导致了一些问题,例如我们 react-native-fast-image,作为一种解决方法,我在 /node_modules/react-native-fast-image/android 中创建了一个 gradle.properties 并停用了 AndroidX 和 Jetifier这个模块:
android.useAndroidX=false
android.enableJetifier=false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1439 次 |
| 最近记录: |