Недавно я обновил compileSdkVersion моего проекта React Native с 33 до 34, чтобы соответствовать новой политике Google. После внесения этого изменения я не могу подключиться к серверу Metro. Вот подробности моей конфигурации android/app/build.gradle:
ext {
buildToolsVersion = "33.0.0"
minSdkVersion = 28
compileSdkVersion = 34
targetSdkVersion = 34
ndkVersion = "25.0.8775105"
}
android {
compileSdkVersion = 34
defaultConfig {
minSdkVersion = 28
targetSdkVersion = 34
}
}
Настройка моего проекта включает в себя:
Шаги, которые я предпринял на данный момент:
rm -rf node_modules && npm install or yarn install
npx react-native run-android
npx react-native start
Несмотря на эти действия, серверу Metro не удается подключиться при запуске приложения. Я также проверил, что все мои зависимости обновлены.Сначала обновите android/build.gradle
compileSdkVersion = 34
targetSdkVersion = 34
если ваш рабочий файл кода, то ок. В моем случае мое приложение вылетает после этих изменений, поэтому я исправил сбой приложения в своих изменениях.
Главное приложение.java
// Add imports
import android.content.BroadcastReceiver;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Build;
import org.jetbrains.annotations.Nullable;
// ...
// Put this above "public void onCreate()":
@Override
public Intent registerReceiver(@Nullable BroadcastReceiver receiver, IntentFilter filter) {
if (Build.VERSION.SDK_INT >= 34 && getApplicationInfo().targetSdkVersion >= 34) {
return super.registerReceiver(receiver, filter, Context.RECEIVER_EXPORTED);
} else {
return super.registerReceiver(receiver, filter);
}
}
// ....
приложение/build.gradle
dependencies {
// ...
implementation 'org.jetbrains:annotations:16.0.2'
// ...
}
Я читал, что вам нужно обновить React-native до 0.74.
Подробное объяснение и возможные исправления проблем добавлены и обсуждаются в этой статье на Medium: Исправление сбоев BroadcastReceiver и проблем с сервером Metro в Android 14
Как сейчас написано, ваш ответ неясен. Пожалуйста, отредактируйте , чтобы добавить дополнительную информацию, которая поможет другим понять, как это относится к заданному вопросу. Более подробную информацию о том, как писать хорошие ответы, вы можете найти в справочном центре.
Инструменты сборки и AGP остались прежними?