joc*_*ers 1 fonts icons android android-studio react-native
我有React Native项目。当我构建Android版本时,我收到一个错误:无法将任务“copyDebugIconFonts”添加为具有该名称的任务已存在。在我的终端中,我有这个错误: FAILURE : Build failed with an exception。
其中:脚本“/Users/evgeniykireev/openCalls/node_modules/react-native-vector-icons/fonts.gradle”行:16
出了什么问题:无法将任务“copyDebugIconFonts”添加为具有该名称的任务已存在。
我的 build.gradle:
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()
}
}
Run Code Online (Sandbox Code Playgroud)
我的 fonts.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)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
你能帮我吗)
小智 9
这个包“react-native-vector-icons”已经多次添加到你的 build.gradle 文件中。
要解决这个问题,只需转到android>build.gradle并搜索“react-native-vector-icons”。如果您发现了两次,则删除该行。例如,我刚刚注释掉了这个 =>
// 申请自:“../../node_modules/react-native-vector-icons/fonts.gradle”
| 归档时间: |
|
| 查看次数: |
1175 次 |
| 最近记录: |