react / react/react-native

ReactNativeApplicationEntryPoint.java doesn't generate correctly during release .aab build

Aperta
#52,754 24 commenti 3 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Issue: Author Provided Repro Needs: Triage :mag:
Lingua principale
C++
Stelle
127k
Fork
25.3k
Merge medio
1g 23h
PR unite (30g)
4

Descrizione

Description

Hey everyone, my set:

    "react": "19.1.0",
    "react-native": "0.80.1",

devDependencies:
    "@react-native-community/cli": "19.0.0",
    "@react-native-community/cli-platform-android": "19.0.0",
    "@react-native-community/cli-platform-ios": "19.0.0",
    "babel-plugin-react-compiler": "^19.1.0-rc.2",

I’m experiencing (what seems to be?) a non-standard caching issue that did not occur in previous versions of React Native.

Previously, on react-native: 0.76.9 and react: 18.3.1, I did not encounter this problem.

Context

My app uses a shared codebase but serves multiple clients/entities. I achieve this by using react-native-config to switch between .env files. Each flavor has different keys and assets (logos, etc.). So essentially, I have multiple apps with the same code, but different .env configurations and resources.

I build each version with a command like:
cd android && ./gradlew bundle[Appname]app

Problem

During build, the file:
android/app/build/generated/autolinking/src/main/java/com/facebook/react/ReactNativeApplicationEntryPoint.java

somehow gets injected with stale .env data — specifically this block:
if (com.[company].[Appname].BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { DefaultNewArchitectureEntryPoint.load(); }

Now here’s the strange part:
• The [Appname] used in this file is outdated — it does not match the currently selected .env file.
• In fact, the outdated [Appname] no longer exists in any .env file, yet it still gets inserted into the generated Java class.
• Console logs during the Gradle build clearly show the correct current values.
• I also verified the build.gradle flavor setup:

flavorDimensions "env"
productFlavors {
  project.ext.envConfigFiles.each { flavorName, _ ->
    "$flavorName" {
      dimension 'env'
    }
  }
}

Everything seems to be correct.

What I Tried:

• ./gradlew clean — did not help.
• Manually clearing the android/app/build directory — did not help.
• Only thing that helps: deleting yarn.lock and reinstalling with yarn install — which makes me suspect some kind of caching is happening inside node_modules.

From what I’ve read, autolinking is handled by the @react-native-community/cli package — so maybe it’s caching something unexpectedly?

Thanks in advance for any help, and have a great day! 🙌

Steps to reproduce
•	Execute `yarn install` inside the ReproducerApp directory.
•	From the root directory, run `yarn run android`. At this stage, the application should build and launch successfully. For testing, I used the Android Studio emulator Pixel 3a API 35.
•	Next, run the script from the root directory: `node runme.js`. This is a small utility script that replaces the application name required in several places. On previous React Native versions, this process worked without any issues.
•	Upon execution, the console should confirm that the application name substitution was successful.
•	Finally, run `yarn run android` again - and at this point, the error occurs.
React Native Version

0.80.1

Affected Platforms

Build - MacOS

Output of npx @react-native-community/cli info
System:
  OS: macOS 15.5
  CPU: (8) arm64 Apple M2
  Memory: 130.05 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.20.5
    path: ~/.nvm/versions/node/v18.20.5/bin/node
  Yarn:
    version: 3.6.4
    path: ~/.yarn/bin/yarn
  npm:
    version: 10.8.2
    path: ~/.nvm/versions/node/v18.20.5/bin/npm
  Watchman:
    version: 2024.12.02.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /opt/homebrew/lib/ruby/gems/3.3.0/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.4
      - iOS 18.4
      - macOS 15.4
      - tvOS 18.4
      - visionOS 2.4
      - watchOS 11.4
  Android SDK: Not Found
IDEs:
  Android Studio: 2025.1 AI-251.25410.109.2511.13665796
  Xcode:
    version: 16.3/16E140
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.9
    path: /usr/bin/javac
  Ruby:
    version: 3.3.6
    path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 19.0.0
    wanted: 19.0.0
  react:
    installed: 19.1.0
    wanted: 19.1.0
  react-native:
    installed: 0.80.1
    wanted: 0.80.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true
Stacktrace or Logs
/Users/arturbuja/Desktop/app/[companyName]/android/app/build/generated/autolinking/src/main/java/com/facebook/react/ReactNativeApplicationEntryPoint.java:29: error: package com.[companyName].[appBuildId#1] does not exist
    if (com.[companyName].[appBuildId#1].BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
                                ^
1 error

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compile[companyName]appDebugJavaWithJavac'.
> Compilation failed; see the compiler output below.
  /Users/arturbuja/Desktop/app/[companyName]/android/app/build/generated/autolinking/src/main/java/com/facebook/react/ReactNativeApplicationEntryPoint.java:29: error: package com.[companyName].[appBuildId#1] does not exist
      if (com.[companyName].[appBuildId#1].BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
                                  ^
  1 error

* Try:
> Check your code and dependencies to fix the compilation error(s)
> Run with --scan to get full insights.

BUILD FAILED in 4s
error Failed to install the app. Command failed with exit code 1: ./gradlew app:installRoboticketappDebug -PreactNativeDevServerPort=8081 -PreactNativeArchitectures=arm64-v8a
/Users/arturbuja/Desktop/app/[companyName]/android/app/build/generated/autolinking/src/main/java/com/facebook/react/ReactNativeApplicationEntryPoint.java:29: error: package com.[companyName].[appBuildId#1] does not exist if (com.[companyName].[appBuildId#1].BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { ^
1 error FAILURE: Build failed with an exception. * What went wrong:
Execution failed for task ':app:compile[companyName]appDebugJavaWithJavac'.
> Compilation failed; see the compiler output below. /Users/arturbuja/Desktop/app/[appName]/android/app/build/generated/autolinking/src/main/java/com/facebook/react/ReactNativeApplicationEntryPoint.java:29: error: package com.[companyName].[appBuildId#1] does not exist if (com.[companyName].[appBuildId#1].BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { ^ 1 error * Try:
> Check your code and dependencies to fix the compilation error(s)
> Run with --scan to get full insights. BUILD FAILED in 4s.
info Run CLI with --verbose flag for more details.
MANDATORY Reproducer

(https://github.com/ArturBuja/Repro_error_build)

Screenshots and Videos

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con il riproduttore obbligatorio Repro_error_build, esegui yarn install, yarn run android, node runme.js e poi esegui nuovamente yarn run android. Ispeziona android/app/build/generated/autolinking/src/main/java/com/facebook/react/ReactNativeApplicationEntryPoint.java e il task Gradle segnalato; il lavoro è completato quando l’entry point generato usa il nome dell’applicazione selezionato e la build ripetuta termina correttamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, react-native
Ambito
build-system, mobile
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.