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.json
heb gewijzigd). Nadat ik deze had verwijderd, heb ik het probleem opgelost.
Antwoord 4, autoriteit 28%
In uw MainActivity.java
kunt 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.java
enz.) - 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 identifier
heeft hernoemd, moet u waarschijnlijk het volgende wijzigen:
Uw android/app/src/main/....../MainApplication.java
pakketen imports.
Ook al heb ik react-native-rename
npm-pakket gebruikt , het zorgde niet voor sommige bestanden MainApplication.java
en 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 upgrade
uit.
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_app
naar 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_app
en ze allemaal te vervangen door com.mycompany.myapp
wanneer 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