这是一个最近构建和部署没有问题的项目,但是在最近导入一些节点模块(领域和@react-native-community/net-info)之后,“npx react-native run-android”的安装过程是始终失败,表明找不到“build/ generated/autolinking/autolinking.json”文件。为了解决这个问题,我首先删除了最新的导入,删除并重新安装了所有节点模块(使用 --force 标志),但错误仍然存在。然后我手动创建了一个空的 autolinking.json 文件来解决这个问题,但现在我收到错误:
“RNGP - 自动链接:在react-native配置输出中找不到project.android.packageName!无法在没有此字段的情况下自动链接包。”
据我所知,packageName 已正确定义,我假设错误是指清单文件。
下面是主要的AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.naturecounter">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme">
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize"
android:exported = "true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
<meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key"/>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>
<!-- <meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyDQVy5Jju3QBfHWCQJ0RCXoj45VJS-SIys"/> -->
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/fb_login_protocol_scheme" />
</intent-filter>
</activity>
</application>
</manifest>
是否有用于触发链接的react-native命令?还是我的配置中缺少某些内容?
反应原生 v0.71.14
反应v18.2.0
android Gradle 插件:8.4.1
Gradle 版本:8.7-bin
该错误发生在 React Native 项目的构建过程中,特别是当自动链接过程失败并显示以下消息时:
RNGP - Autolinking: Could not find project.android.packageName in react-native config output! Could not autolink packages without this field.
发生这种情况是因为 React Native CLI 无法找到正确链接 Android 项目所需的 packageName。
解决方案:
第1步:创建或更新react-native.config.js 如果您的项目根目录中还没有react-native.config.js 文件,请创建一个。该文件用于配置 React Native CLI。
module. Exports = {
project: {
android: {
packageName: 'com.nymvp', // Replace 'com.nymvp' with your actual
package name
},
},
};
此配置显式定义了 Android 项目的 packageName,React Native CLI 在自动链接过程中使用该名称。
/项目名称/android/build/ generated/autolinking/autolinking.json
或 通过运行命令:
rm -rf android/build/generated/autolinking/autolinking.json
此文件存储先前自动链接过程的结果,如果 packageName 设置不正确,该结果可能会过时或不正确。
第3步: 清理并重建项目 进行这些更改后,清理并重建项目以应用新配置非常重要:
cd 安卓 ./gradlew 干净 光盘 .. npx react-native run-android