Emulator from Virtual Device Manager in Android Studio doesn’t recognize changes in code using Expo and React Native for Android. Fast refresh broken?

I’ve detected some annoying behaviour on Android emulator.

When changing the code in a JavaScript file that is not where the rendering snippet of the code is, the emulator seems to not recognize the changes after the file is saved and, even if an event is triggered, the changes do not take effect. I created a blank app just to test this behaviour, since I thought any library might have modified the Metro Bundler.

Didn’t find a quick solution on anywhere, so I copied and pasted the code is below:

App.js file:

import { StatusBar } from "expo-status-bar";
import { StyleSheet, Text, View, Button } from "react-native";
import { PrintOutside } from "./assets/model/Print";

export default function App() {
PrintOutside();

function PrintInside() {
console.log("Printing inside 2");
}
return (
<View style={styles.container}>
<View style={styles.buttonView}>
<Button title="Printing from outside file" onPress={PrintOutside} />
</View>
<Button title="Print from inside file" onPress={PrintInside} />
<StatusBar style="auto" />
</View>
);
}

const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "#fff",
alignItems: "center",
justifyContent: "center",
},
buttonView: {
marginBottom: 10,
},
});

Print.js file:

export function PrintOutside() {console.log("Printing outside")}

Whenever I click on the “Printing from outside file” button, It always log the same value, even if I change it on Print.js file and save it. However, if I change anything on the App.js file and save it, then the changed value on Print.js is logged. And on the other hand, any changes that I make in App.js file, after saved, are recognized by the emulator. For example, if I change console.log(“Printing inside 2”) to console.log(“Printing inside 3”), it works immediatly after saving the file and clicking the “Print from inside file” button.

Tried all the below, without success:

  1. Modifying app.json file, including "web": {"bundler": "metro"}, on expo property.
  2. Running expo start --clear to restart with a clean cache.
  3. Using the Expo development build, through npx expo run:android.
  4. Installing and using react-refresh.
  5. rm .git/index.lock (file does not exist)

The closest article that I found regarding my problem is the one below:

I’m really annoyed by this behavior cause it demands me to keep reloading the app so I can go on with my development.