查询属性“packageName”的值失败

问题描述 投票:0回答:3

我正在运行 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
时才会出现此错误。

react-native gradle android-gradle-plugin
3个回答
16
投票

这是另一个解决方案:

  • 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
    顶部的第一行。

5
投票

我终于明白了。

在文件上:

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">

0
投票

其他解决方案在技术上似乎是正确的,但对我来说,这是由于在突出显示的部分中意外输入了一些字符而导致的。

<application
        android<Added some extra characters by mistake>:label="My App"
        android:name="${applicationName}"
...

这不是技术解决方案,但可能会帮助因类似错误而陷入此错误的人。

© www.soinside.com 2019 - 2024. All rights reserved.