react-native 无法为类型为org.gradle.api.Project的项目':ReactAndroid'获取未知属性'publishing_version',

vhipe2zx  于 2022-10-29  发布在  React
关注(0)|答案(8)|浏览(126)

描述

在将本机React从0.68.1升级到0.70.1时发生
位于node_modules\React原生\ReactAndroid\赫米斯引擎\build.gradle
x1m0n1x
Gradle文件无法找到属性publishing-version.

版本

0.70.1

npx react-native info的输出

系统:
操作系统:Windows 10
CPU:4个x64英特尔®酷睿™ i5- 7200 U CPU,主频2.50 GHz
内存容量:949.90 MB / 7.89 GB
二进制文件:
节点:16.2.0 - C:\程序文件\节点\节点. EXE
Yarn:1.22.10 - ~\AppData\漫游\npm\Yarn.CMD
npm:8.1.0 - C:\程序文件\节点\npm.CMD
观察员:未找到
软件开发工具包:
Android软件开发工具包:
API级别:23、28、29、30、31
构建工具:第28.0.3节、第29.0.2节、第30.0.2节、第30.0.3节、第31.0.0节、第31.0.0节
系统映像:雄甾-29|谷歌API英特尔x86凌动、安卓-29| Google Play英特尔x86凌动处理器、安卓30|英特尔x86凌动处理器
Android NDK:22.1.7171670
Windows软件开发工具包:未找到
IDE:
Android工作室:版本号:2020.3.0.0 AI-203.7717.56.2031.7583922
视觉工作室:未找到
语言:
Java:14.0.1 - C:\程序文件\打开的JDK\文件夹\javac.EXE
npm程序包:
@React-本地-社区/客户端:未找到
React:18.1.0 =〉18.1.0
原生React:0.7 ± 0.1 =〉0.7 ± 0.1
React-本机-窗口:未找到
npm全局程序包:

  • 原生React *:未找到

重现步骤

尝试使用https://react-native-community.github.io/upgrade-helper/?from=0.68.1&to=0.70.1从0.68.1升级到0.70.1

零食、代码示例、屏幕截图或指向存储库的链接

eiee3dmh

eiee3dmh1#

您是否正在修补react-native?
发布版本在node_modules/react-native/ReactAndroid/build.gradle中定义。
你不应该改变它。
React原生/ReactAndroid/构建版本.gradle
0b4417b中的第171至173行
| | //我们将来自www.example.com的发布版本gradle.properties放在ext.内,因此其他|
| | //子项目也可以访问它。|
| | 外部发布版本=版本名称|

30byixjq

30byixjq2#

@bhsrampage这里有什么新发现吗?当启用爱马仕时也面临同样的问题,但没有使用新的架构。有没有可能同时使用hermes而不是RN 0.70.3的新架构?顺便说一句,我们修补了RN,但只是由于monorepo的文件路径,但没有任何可能导致该错误。我硬编码了版本,然后它通过了,但以“找不到DSO来加载:libhermes-executor-release.so“中找到。

osh3o9ms

osh3o9ms3#

我有同样的问题,但我还没有修补任何React Native文件。

ne5o7dgx

ne5o7dgx4#

@bhsrampage这里有什么新发现吗?当启用爱马仕时也面临同样的问题,但没有使用新的架构。有没有可能同时使用hermes而不是RN 0.70.3的新架构?顺便说一句,我们修补了RN,但只是由于monorepo的文件路径,但没有任何可能导致该错误。我硬编码了版本,然后它通过了,但以“找不到DSO来加载:libhermes-executor-release.so“中找到。
不太确定,但我认为最新版本的rn需要新的架构与爱马仕这是默认启用的。目前我恢复到旧版本,这是为我工作,我会升级它,一旦我找到一个强大的解决方案解决这个问题。

wh6knrhe

wh6knrhe5#

您是否正在修补react-native?发布版本是在node_modules/react-native/ReactAndroid/build.gradle中定义的。
你不应该改变它。
React原生/ReactAndroid/构建版本.gradle
0b4417b中的第171至173行
| | //我们将来自www.example.com的发布版本gradle.properties放在ext.内,因此其他|
| | //子项目也可以访问它。|
| | 外部发布版本=版本名称|
我还没有修补软件包,当我升级软件包json中的版本时,我删除了节点模块,并重新安装它们。

j13ufse2

j13ufse26#

是否可以同时使用爱马仕而不是RN 0.70.3的新架构?
是的,您可以在没有新架构的情况下使用爱马仕。
rn的最新版本需要具有爱马仕的新体系结构,该体系结构在默认情况下被启用。
不,最新版本的React Native不需要新架构。它实际上是一个选择。
谁能提供一台复印机?

7jmck4yq

7jmck4yq7#

| ⚠️|缺失可重现示例|
| ℹ️|您的问题似乎缺少可重现的示例。请提供Snack或以minimal, complete, and reproducible方式演示您报告的问题的存储库。|

jmo0nnb3

jmo0nnb38#

我的一些本地同事(首先使用nativ,然后在登录后使用RN)“优化”了我们的代码,因此APK不包含libhermes-executor-debug.so,因为它甚至包括在发布APK中。因此,他们在build.gradle中进行了以下更改:

exclude '**/libhermes-inspector.so'
exclude '**/libhermes-executor-debug.so'

此外,在我们上次升级RN期间,我们必须设置:
x1m0n1x
为了使爱马仕运行。我不得不删除这两个更改,以使Hermes再次运行0. 70. 3。

相关问题