Я запускаю React-Native 0.63.4 и сталкиваюсь со следующей ошибкой:
Execution failed for task ':app:generateDebugBuildConfig'.
> Failed to calculate the value of task ':app:generateDebugBuildConfig' property 'buildConfigPackageName'.
> Failed to query the value of property 'packageName'.
> java.lang.NumberFormatException: For input string: "1.0.0"
Это происходит при запуске npm run android
, вскоре после того, как Gradle завершает настройку приложения и пытается его запустить.
Эта ошибка возникает как при запуске команды из корневой папки проекта, так и из подпапки /android/.
Я сделал gradlew clean
, но это не помогает.
Редактировать:
Если я зайду в папку /android/ и запущу gradlew android
, сборка завершится без ошибок.
Эта ошибка появляется только тогда, когда я запускаю npm run android
.
Я наконец-то понял.
в файле: android/app/src/main/AndroidManifest.xml
Содержание началось с:
<manifest xmlns:android = "http://schemas.android.com/apk/res/android"
package = "com.MyBusiness.MyApp"
android:versionCode = "1.0.0"
android:versionName = "1.0.0">
Код версии должен быть целым числом: разрешены только цифры. По-видимому, не имеет значения, что это такое, поскольку оно будет увеличивать любое число, которое мы ставим.
Изменение этого числа на число решило мою проблему:
<manifest xmlns:android = "http://schemas.android.com/apk/res/android"
package = "com.MyBusiness.MyApp"
android:versionCode = "1000"
android:versionName = "1.0.0">
Настоятельно не рекомендуется устанавливать код версии в случайное число, поскольку каждая следующая версия, публикуемая в Play Store, должна иметь больший код версии. Установка его на 1000 для рабочего приложения потребует увеличения числа +1 навсегда (1001, 1002 и т. д.). Невозможно изменить или сбросить его после публикации в Play Store. Если вам нужно установить код версии, хорошей практикой является просто начать с номера 1. Или, если вы уже опубликовали приложение, вы можете легко увидеть код версии последнего выпуска из консоли Play Store и установить код версии +1 для этого.
Вот еще одно решение:
android/app/src/main/AndroidManifest.xml
отсутствует xmls:tools. Так что вам нужно добавить это обратно.<manifest xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:tools = "http://schemas.android.com/tools" package = "com.<buildname>">
Manifest.xml
.большое спасибо @Aurelien Essome, вы спасли мой день, спасибо вам <3
@JaveedIshaq, конечно, с удовольствием.
Та же проблема с Flutter Framework. xmlns:tools
отсутствует, когда Flutter создает новый проект Android
Спасибо, вы спасли мой день @Relie Essom.
поделитесь настройкой конфигурации build.gradle по умолчанию