反应原生编译错误android-react-native-webview

时间:2019-06-18 07:47:45

标签: android react-native compiler-errors

我在编译时没有错误,从字面上看,这毫无疑问地出现了。还有其他人有这个错误吗?

任务:react-native-webview:compileDebugJavaWithJavac 注意:/user_data/projects/react-native/populi/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java使用或覆盖已弃用的API。 注意:有关详细信息,请使用-Xlint:deprecation重新编译。 注意:/user_data/projects/react-native/populi/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java使用未经检查或不安全的操作。 注意:重新编译-Xlint:unchecked以获得详细信息。

  

任务:app:processDebugManifest失败   /user_data/projects/react-native/populi/android/app/src/debug/AndroidManifest.xml:22:18-91错误:           来自[com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91的属性application @ appComponentFactory value =(android.support.v4.app.CoreComponentFactory)           也存在于[androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value =(androidx.core.app.CoreComponentFactory)。           建议:在AndroidManifest.xml:7:5-117的元素上添加'tools:replace =“ android:appComponentFactory”'以进行覆盖。

有关清单合并的更多信息,请参见http://g.co/androidstudio/manifest-merger

2 个答案:

答案 0 :(得分:2)

这是您的依赖项中的一个问题。就我而言,我从一个新的本地反应项目开始,尝试添加我在项目中拥有的所有依赖关系,发现问题与版本react-native-device-info上的0.13.0有关。

react-native-device-info升级到版本2.1.2后,问题消失了。

答案 1 :(得分:1)

我没有足够的声誉来评论Seb Cesbron的答案,所以请原谅我发布为答案。他的回答也对我有用,我想阐述一下。这是由于对包括AndroidX的firebase / gcm的最新更新引起的,因此它使得2.1.2之前的react-native-device-info也依赖于AndroidX。版本2.1.2向gcm添加了版本约束,以避免在React Native完全支持AndroidX之前包括AndroidX。有关更多详细信息,请参见Changelog和相关PR。

但是,此问题不仅限于react-native-device-info。您可以通过运行以下命令来检查项目中的任何库是否意外包含AndroidX:

./gradlew -q :app:dependencies > dependencies.txt

查看生成的关键字“ androidx”的dependencies.txt。它将提示哪个库导致了问题。您可能想要一直在app / build.gradle中注释依赖项,直到找到罪魁祸首。

就我而言,除了库之外,数据绑定功能还包括AndroidX。您可能需要检查您的app / build.gradle是否包含以下行:

dataBinding {
   enabled true
}

希望这可以帮助面临此问题的人员更快地进行调试。