Ich erhalte diesen Fehler, wenn ich versuche, meine React Native-Android-App zu kompilieren. Die Android-App kann BuildConfig.DEBUG nicht auflösen.
: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
Ich kann es vorübergehend beheben, indem ich es einfach auf true setze. Dies könnte geschehen sein, nachdem ich einen Anwendungsnamen geändert habe (da ich dies auch versucht habe).
Ich muss wahrscheinlich etwas mit Gradle ändern, damit es wieder die richtige Art von Dateien generiert.
/**
* 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";
}
react-native
Überladung119
quelle
quelle
Android weiß, wo bestimmte Dateien zu finden sind und wie bestimmte Dateien verbunden werden, indem Felder verwendet werden, die in AndroidManifest.xml festgelegt sind. Da die Standardeinstellung eines React Native-Projekts auf alles mit. (Name der Ressource) verweist, bedeutet dies, dass alles in Bezug auf den im
<manifest>
Tag festgelegten Paketnamen aufgelöst wird . Damit alles sofort funktioniert und alles wie erwartet generiert wird, sollte der Pfad zu MainActivity.java mit dem Paketnamen identisch sein.Beispiel:
Name Ihres Apps-Pakets:
com.mycompanyname.myappname
Speicherort von MainActivity.java:
android/app/src/main/java/com/mycompanyname/myappname/MainActivity.java
quelle
Ich habe das Projekt mit neu aufgebaut
react-native upgrade
. Mein Problem war dann, dass ich alte Dateien hatte, die auf die alten Paketnamen verweisen (weil ich den Namen der App in geändert habepackage.json
). Nachdem ich diese gelöscht hatte, löste ich das Problem.quelle
In Ihrem
MainActivity.java
können Sie überprüfen, ob die erste Zeile istpackage com.YOU_APP_NAME;
Wenn diese Zeile nicht vorhanden ist, sollten Sie diese hinzufügen.
quelle
In meinem Fall habe ich den Paketnamen sowohl in der BUCK-Datei als auch in der Manifest-Datei geändert.
Ändern Sie in der BUCK-Datei Folgendes.
quelle
Eine Kombination einiger Antworten hat mir geholfen, Zusammenfassung:
MainApplication.java
usw.)BUCK
Dateiquelle
package.json
und was meinen Sie mit "verbinden"?Das Aktualisieren von React-Native hat diesen Fehler behoben -
Jetzt wieder bauen -
quelle
react-native link
erneut ausführen , um native Abhängigkeiten erneut zu verknüpfen.Wenn Sie Ihre umbenannt haben, müssen
bundle identifier
Sie wahrscheinlich Folgendes ändern:Ihr
android/app/src/main/....../MainApplication.java
Paket und Importe .Obwohl ich das
react-native-rename
npm-Paket verwendet habe , hat es sich nicht um einige DateienMainApplication.java
und gekümmertMainActivity.java
.quelle
Löschen Sie die alten Dateien, die möglicherweise in android / app / src / main / java / com vorhanden sind. Behalten Sie die Datei einfach mit dem neuen Namen der App bei. Dann mach es
react-native upgrade
.quelle
Überprüfen Sie, ob Sie die Installation des React-Native-Gesture-Handlers verpasst haben.
mit Garn
Garn hinzufügen React-Native-Gesten-Handler
oder mit npm
npm install --save react-native-gesture-handler
Dann
React-Native-Link React-Native-Gesten-Handler
quelle
Ich habe dies erlebt, als ich https://dev.to/karanpratapsingh/quick-guide-for-updating-package-name-in-react-native-3ei3 folgte . Ich habe meine Anwendung von umbenannt
com.company_app
incom.mycompany.myapp
, anscheinend gab es einige Dateien, die ich noch aktualisieren musste, die aber nicht in der Anleitung enthalten waren, die ich befolgte. Ich denke, die Anleitung ist nur für allgemeine Zwecke gedacht, wie eine neue reaktionsnative App, die ich gelöst habe Dies geschieht durch eine globale Suchecom.company_app
und Ersetzung jedes einzelnen,com.mycompany.myapp
wann immer es sinnvoll ist.quelle