React Native Android Build Error MainActivity.java:29: error: kan symbool niet vinden

Ik krijg deze foutmelding wanneer ik mijn React Native Android-app probeer te compileren.
De Android-app kan BuildConfig.DEBUG niet oplossen.

:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac
/Users/amirsharif/mobile-rappad/android/app/src/main/java/com/rappadmobile/MainActivity.java:29: error: cannot find symbol
                .setUseDeveloperSupport(BuildConfig.DEBUG)
                                        ^
  symbol:   variable BuildConfig
  location: class MainActivity
>1 error
:app:compileDebugJavaWithJavac FAILED

Ik kan het tijdelijk oplossen door het simpelweg op true in te stellen.
Dit kan zijn gebeurd nadat ik de naam van een applicatie heb gewijzigd (aangezien ik dat ook heb geprobeerd).

Ik moet waarschijnlijk iets veranderen met Gradle zodat het weer de juiste soort bestanden genereert.

/**
 * Automatically generated file. DO NOT MODIFY
 */
package com.app;
public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String APPLICATION_ID = "com.rappadmobile";
  public static final String BUILD_TYPE = "debug";
  public static final String FLAVOR = "";
  public static final int VERSION_CODE = 1;
  public static final String VERSION_NAME = "1.0";
}

Antwoord 1, autoriteit 100%

Ik had hetzelfde probleem en het werd opgelost door simpelweg het volgende importstatement toe te voegen in MainApplication.java:

import com.facebook.react.BuildConfig;

Antwoord 2, autoriteit 70%

Android weet waar bepaalde bestanden te vinden zijn en hoe bepaalde bestanden te verbinden, is door velden te gebruiken die zijn ingesteld in AndroidManifest.xml. Aangezien de standaardconfiguratie van een React Native-project alles verwijst met .(naam-van-bron), betekent dit dat alles zal worden opgelost met betrekking tot de pakketnaam die is ingesteld in de tag <manifest>. Dus om alles direct te laten werken en alles te genereren zoals verwacht, moet het pad naar MainActivity.java hetzelfde zijn als de pakketnaam.

voorbeeld:

de naam van uw apps-pakket:
com.mycompanyname.myappname

locatie van MainActivity.java: android/app/src/main/java/com/mycompanyname/myappname/MainActivity.java


Antwoord 3, autoriteit 32%

Ik heb het project opnieuw opgebouwd met react-native upgrade.
Mijn probleem was toen dat ik oude bestanden had die naar de oude pakketnamen verwezen (omdat ik de naam van de app in package.jsonheb gewijzigd). Nadat ik deze had verwijderd, heb ik het probleem opgelost.


Antwoord 4, autoriteit 28%

In uw MainActivity.javakunt u controleren of de eerste regel package com.YOU_APP_NAME;

is

Als deze regel niet bestaat, moet u deze toevoegen.


Antwoord 5, autoriteit 12%

In mijn geval heb ik de pakketnaam in zowel het BUCK-bestand als het manifestbestand gewijzigd.

In het BUCK-bestand wijzigt u als volgt.

android_build_config(
    name = "build_config",
    package = "NEW_PACKAGE_NAME",
)
android_resource(
    name = "res",
    package = "NEW_PACKAGE_NAME",
    res = "src/main/res", )

Antwoord 6, autoriteit 12%

Een combinatie van enkele antwoorden heeft me geholpen, samenvatting:

  • Zorg ervoor dat de namen van uw Java-pakket correct zijn (MainApplication.javaenz.)
  • werk de pakketnaam bij in het gradle build-bestand
  • werk de pakketnaam in het manifestbestand bij
  • werk de pakketnaam bij in het BUCK-bestand
  • zorg ervoor dat het pad naar je javascript-bronnen een mapstructuur is die overeenkomt met je pakketnaam

Antwoord 7, autoriteit 8%

Als u uw bundle identifierheeft hernoemd, moet u waarschijnlijk het volgende wijzigen:

Uw android/app/src/main/....../MainApplication.javapakketen imports.

Ook al heb ik react-native-renamenpm-pakket gebruikt , het zorgde niet voor sommige bestanden MainApplication.javaen MainActivity.java.


Antwoord 8, autoriteit 4%

Upgraden van react-native loste deze fout op –

react-native upgrade

Nu opnieuw bouwen –

react-native run-android

Antwoord 9, autoriteit 2%

Verwijder de oude bestanden die mogelijk aanwezig zijn in android/app/src/main/java/com
Bewaar het bestand met de nieuwe naam van de app. Voer vervolgens react-native upgradeuit.


Antwoord 10

Controleer of je de installatie van de react-native-gesture-handler hebt gemist.

met garen

garen toevoegen react-native-gesture-handler

of met npm

npm install –save react-native-gesture-handler

Dan

react-native link react-native-gesture-handler


Antwoord 11

Ik heb dit ervaren tijdens het volgen van https://dev.to/karanpratapsingh/quick-guide-for-updating-package-name-in-react-native-3ei3. Ik was de naam van mijn applicatie aan het hernoemen van com.company_appnaar com.mycompany.myapp, blijkbaar waren er enkele bestanden die ik nog moest bijwerken, maar die niet waren opgenomen in de handleiding die ik volgde, ik denk dat de gids alleen voor algemeen is, zoals een nieuwe reactie-native app, ik heb dit opgelost door een globale zoekopdracht uit te voeren naar com.company_appen ze allemaal te vervangen door com.mycompany.myappwanneer het zin heeft.


Antwoord 12

Ik heb het opgelost door deze stappen te volgen:
Android-versie:
Ga vanuit Terminal naar de Android-map en voer deze opdracht uit:
geleidelijk schoon

Verwijder deze map uit de hoofdprojectmap:
node_modules

Van menubestand:
Maak caches ongeldig en start IDE opnieuw

Zoek uw MainActivity.java-bestand en voeg deze importregel toe:
import com.facebook.react.BuildConfig;

Ga in terminal naar de Android-map en voer dit uit:
geleidelijk

ga in terminal naar hoofdroot en voer dit uit:
garen installeren

Je kunt nu de metro starten en de app starten.

P.S.: zorg ervoor dat in het bestand MainActivity.java de bundel-ID-naam correct is. Je vindt het in de eerste rij. Zorg er vervolgens voor dat het bestand MainActivity.java zich als volgt in het juiste pad bevindt:
project_name/Android/App/src/main/java/1/2/3/MainActivity.java waarbij 1/2/3 de naam van uw bundel-ID moet zijn, bijvoorbeeld com/bundle/id


Antwoord 13

Mijn geval was dat ik het pakket op één plaats hernoemde (AndroidManifest.xml)
Ex:
Het origineel: com.voorbeeld
Gewijzigd in: com.example.app

Het opnieuw hernoemen loste het probleem op

Other episodes