我正在运行 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
文件夹中可能缺少 xmls:tools。所以您需要将其添加回来。<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.<buildname>">
Manifest.xml
顶部的第一行。我终于明白了。
在文件上:
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">
versionCode 必须是整数:只允许使用数字。显然它是什么并不重要,因为它会增加我们输入的任何数字。
将其更改为数字解决了我的问题:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.MyBusiness.MyApp"
android:versionCode="1000"
android:versionName="1.0.0">
其他解决方案在技术上似乎是正确的,但对我来说,这是由于在突出显示的部分中意外输入了一些字符而导致的。
<application
android<Added some extra characters by mistake>:label="My App"
android:name="${applicationName}"
...
这不是技术解决方案,但可能会帮助因类似错误而陷入此错误的人。