当前位置: 首页 > 知识库问答 >
问题:

Android-studio错误:无法添加任务'copy debugiconfonts',因为具有该名称的任务已存在

姬朗
2023-03-14
buildscript {
    ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 28
        supportLibVersion = "28.0.0"
    }
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:3.4.1")

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }

        google()
        jcenter()
    }
}

我的字体.Gradle:

def config = project.hasProperty("vectoricons") ? project.vectoricons : [];

def iconFontsDir = config.iconFontsDir ?: "../../node_modules/react-native-vector-icons/Fonts";
def iconFontNames = config.iconFontNames ?: [ "*.ttf" ];

gradle.projectsEvaluated {
    android.applicationVariants.all { def variant ->
        def targetName = variant.name.capitalize()
        def targetPath = variant.dirName

        // Create task for copying fonts
        def currentFontTask = tasks.create(
                name: "copy${targetName}IconFonts",
                type: Copy) {
            into("${buildDir}/intermediates")

            iconFontNames.each { fontName ->

              from(iconFontsDir) {
                include(fontName)
                into("assets/${targetPath}/fonts/")
              }

              // Workaround for Android Gradle Plugin 3.2+ new asset directory
              from(iconFontsDir) {
                include(fontName)
                into("merged_assets/${variant.name}/merge${targetName}Assets/out/fonts/")
              }

              // Workaround for Android Gradle Plugin 3.4+ new asset directory
              from(iconFontsDir) {
                include(fontName)
                into("merged_assets/${variant.name}/out/fonts/")
              }
            }
        }

        currentFontTask.dependsOn("merge${targetName}Resources")
        currentFontTask.dependsOn("merge${targetName}Assets")

        [
            "processArmeabi-v7a${targetName}Resources",
            "processX86${targetName}Resources",
            "processUniversal${targetName}Resources",
            "process${targetName}Resources"
        ].each { name ->
            Task dependentTask = tasks.findByPath(name);

            if (dependentTask != null) {
                dependentTask.dependsOn(currentFontTask)
            }
        }
    }
}

请你帮帮我好吗)

共有1个答案

濮佑运
2023-03-14

这个包“react-native-vector-icons”已经在您的build.gradle文件中添加了多次。

要解决这个问题,只需转到android>build.gradle并搜索“react-native-vector-icons”。如果你找到这两次,然后删除那一行。例如,我刚刚注释掉了这个=>

//应用于:“../../node_modules/react-native-vector-icons/fonts.gradle”

 类似资料:
  • 看起来是这样的 我来来回回地想弄清楚这到底是怎么回事。有些东西不能直接开箱操作,这似乎很奇怪。有人面临类似的问题吗?

  • 我是sonarqube的新手,尝试使用gradle在java/jaxrs后端执行代码扫描。 我的身材。gradle如下所示: 当我尝试从windows powershell或cmd执行sonar scanner命令时: 我得到以下错误,指向另一个项目be_256不同于我执行命令的项目,这是be_261 配置: Sonarqube LTS 8.9。3 我试图清除gradle缓存,但没有成功。感谢您的

  • 我刚刚在我的Android Studio项目中添加了使用Firebase存储的代码,得到了这个错误: google-services.json文件中的package_name与清单中的package_name相同。我需要改变什么?

  • 我试图在一个Android Studio项目中为一个lib模块'lib1'执行一个gradle任务。它应该使用命令'Gradlew AssembleDebug'或'Gradlew Assemble'运行,但它从未运行。 我尝试了一个更简单的任务,没有依赖性,它似乎也从来没有运行过。

  • 以下是我的代码尝试执行的操作:编写一个名为 processName 的方法,该方法接受控制台的扫描仪作为参数,并提示用户输入全名,然后以相反的顺序打印名称(即姓氏、名字)。 以下是与用户的示例对话: 请输入您的全名:Sammy Jankis 你的名字倒过来是詹基斯,萨米 我在阅读时出错: 我的问题是,如何将名称字符串分成两部分,以便将其反转?请使用简单的术语,因为我是编码新手。