无法在额外属性扩展上获取属性“ndkVersion”,因为它不存在于... react-native 0.64.0

Posted

技术标签:

【中文标题】无法在额外属性扩展上获取属性“ndkVersion”,因为它不存在于... react-native 0.64.0【英文标题】:Cannot get property 'ndkVersion' on extra properties extension as it does not exist with... react-native 0.64.0 【发布时间】:2021-06-20 11:20:42 【问题描述】:

从 react-native 0.63.4 升级到 0.64.0

我的步骤:

    npx react-native run-android 到版本 0.64.0 - 这一步成功

2.npx react-native upgrade - 这一步成功

    npx react-native run-android - 此步骤失败,出现以下 2 个错误

顺便说一句,在 ios 模拟器上一切正常。

【问题讨论】:

【参考方案1】:

您需要将ndkVersion 添加到buildscript.ext 中的android/build.gradle 文件中,看起来应该类似

buildscript 
    ext 
        ndkVersion = xxx //<-- Add this
        buildToolsVersion = xxx
        minSdkVersion = xxx
        compileSdkVersion = xxx
        targetSdkVersion = xxx
    
    ... 

【讨论】:

另请注意,minSdkVersion 可能还需要增加,因为较高版本的 react-native 无法针对较低的 sdk 版本。密切关注日志,您会看到它需要哪个版本。【参考方案2】:

根据我自己的经验,在迁移 2 个非常大的 RN 应用程序(至少包含 20 个包含链接的不同库)后,我得出结论,下一个解决方案是最安全但最慢的解决方案:

因此,在尝试实施 npx react-native upgrade 时,我收到警告/错误提示升级无法成功 - 这可能是由于我提交了一些更改的文件。 解决方案是创建一个全新的 React Native 项目(最好使用与当前项目相同的包 id/名称创建)并将前一个项目的源代码复制/粘贴到全新的项目中之后逐个链接每个库并在每个库之后进行逐个构建,这样您就可以跟踪整个过程,并且不会在应用构建时获得来自其中任何一个错误的大量错误列表。

【讨论】:

以上是关于无法在额外属性扩展上获取属性“ndkVersion”,因为它不存在于... react-native 0.64.0的主要内容,如果未能解决你的问题,请参考以下文章

额外文件属性上次打开日期

反对 js:无法使用连接表额外属性更新多对多关系。说附加属性无效

attr()prop()css() 的区别

attr()prop()css() 的区别

使用数据属性

Laravel 5 - 从数据透视表额外属性获取属性