Я получаю эту ошибку при попытке скомпилировать приложение для Android React Native. Приложение Android не может разрешить BuildConfig.DEBUG.
: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
Я могу временно решить эту проблему, просто установив для нее значение true. Это могло произойти после того, как я изменил имя приложения (поскольку это то, что я тоже пытался сделать).
Мне, вероятно, придется что-то изменить в Gradle, чтобы он снова генерировал нужные файлы.
/**
* 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
Перегрузка119
источник
источник
Способ, которым Android знает, где найти определенные файлы и как подключить определенные файлы, заключается в использовании полей, установленных в AndroidManifest.xml. Поскольку стандартная настройка проекта React Native ссылается на все с помощью. (Имя-ресурса), это означает, что все будет разрешено с учетом имени пакета, установленного в
<manifest>
теге. Итак, чтобы все работало из коробки и все создавалось должным образом, путь к MainActivity.java должен совпадать с именем пакета.пример:
имя пакета ваших приложений:
com.mycompanyname.myappname
расположение MainActivity.java:
android/app/src/main/java/com/mycompanyname/myappname/MainActivity.java
источник
Я перестроил проект с помощью
react-native upgrade
. Моя проблема заключалась в том, что у меня были старые файлы, которые ссылались на старые имена пакетов (потому что я изменил имя приложения вpackage.json
). Удалив их, я решил проблему.источник
В вашем
MainActivity.java
вы можете проверить, что первая строкаpackage com.YOU_APP_NAME;
Если эта строка не существует, вы должны добавить это.
источник
В моем случае я изменил имя пакета как в файле BUCK, так и в файле манифеста.
В файле BUCK измените следующее.
источник
Комбинация некоторых ответов мне помогла, резюме:
MainApplication.java
и т. Д.)BUCK
файлеисточник
package.json
и что вы подразумеваете под словом «подключиться»?Если вы переименовали свой,
bundle identifier
вам, вероятно, придется изменить:Ваш
android/app/src/main/....../MainApplication.java
пакет и импорт .Несмотря на то, что я использовал
react-native-rename
пакет npm , он не позаботился о некоторых файлахMainApplication.java
иMainActivity.java
.источник
Обновление response-native решило эту ошибку -
Теперь строим снова -
источник
react-native link
снова, чтобы повторно связать собственные зависимости.Удалите старые файлы, которые могут быть в android / app / src / main / java / com. Просто сохраните файл с новым именем приложения. Тогда сделай
react-native upgrade
.источник
Проверьте, не пропустили ли вы установку обработчика response-native-gesture.
пряжей
пряжа добавить реагировать-родной-жест-обработчик
или с npm
npm install --save response-native-gesture-handler
потом
реагировать на родную ссылку реагировать на родной жест-обработчик
источник
Я испытал это, следуя https://dev.to/karanpratapsingh/quick-guide-for-updating-package-name-in-react-native-3ei3 . Я переименовал свое приложение из
com.company_app
вcom.mycompany.myapp
, по-видимому, были некоторые файлы, которые мне все еще нужно было обновить, но они не были включены в руководство, которому я следовал, я думаю, что руководство предназначено только для общего характера, например, новое приложение для реакции, я решил это путем выполнения глобального поискаcom.company_app
и простой замены каждого из них,com.mycompany.myapp
когда это имеет смысл.источник