gradle - IntelliJ Kotlin multiplatform project Gradle sync very long
问题描述
I've created a new Kotlin Multiplatform
project for Andrid
and iOS
(Mobile shared Library). The project works fine but every time I run Gradle
sync, it takes more than 5 minutes every time. It always get stuck on the same line:
Gradle: Build model 'org.jetbrains.kotlin.gradle.KotlinMPPGradleModel' for root project 'MyProject'
Why is it taking so long evey time?
I'm using Gradle
version 5.1.
Here is my build.gradle
file:
buildscript {
ext.kotlin_version = '1.3.11'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.8.1"
}
}
plugins {
id 'kotlin-multiplatform' version '1.3.11'
}
repositories {
google()
jcenter()
mavenCentral()
maven { url 'https://jitpack.io' }
}
repositories {
mavenCentral()
}
group 'com.example'
version '0.0.1'
apply plugin: "com.android.library"
apply plugin: "com.jfrog.artifactory"
apply plugin: 'maven-publish'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName version
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions.incremental = false
}
kotlin {
targets {
fromPreset(presets.android, 'android')
// This preset is for iPhone emulator
// Switch here to presets.iosArm64 to build library for iPhone device
fromPreset(presets.iosX64, 'ios') {
compilations.main.outputKinds('FRAMEWORK')
}
}
sourceSets {
commonMain {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib-common'
}
}
commonTest {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-test-common'
implementation 'org.jetbrains.kotlin:kotlin-test-annotations-common'
}
}
androidMain {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib'
}
}
androidTest {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-test'
implementation 'org.jetbrains.kotlin:kotlin-test-junit'
}
}
iosMain {
}
iosTest {
}
}
}
configurations {
compileClasspath
}
Screenshot of the problem:
解决方案
有一个已知问题,即每次同步都会重新获取 Kotlin/Native 依赖项,这可能就是您所看到的。您可以在此处查看详细信息并关注它。
正如该问题所发布的那样,您可以尝试一种解决方法,该解决方法基本上涉及添加{ content { excludeGroup("Kotlin/Native" } }
到repositories
块中的每个项目。
推荐阅读
- android - Android 版本 29 和 27 中的应用启动器图标中未显示通知计数徽章
- javascript - 自定义 AsciiMath 数学分隔符
- triggers - dafny 如何应用触发器
- pandas - 在 matpplot 中增加 xy 值
- javascript - amcharts 堆积柱形图中的工具提示放置
- react-native - 错误:文本字符串必须在
组件,出现在 android 中,但在 web 上可以正常工作 - gitlab - Gitlab CI:在 Kaniko Job 中执行自己的脚本
- r - 根据年份找到加权平均值
- apache-spark - 在 spark 3.0.0 中无法触发 AQE 的倾斜连接优化
- java - BeanUtilsBeans copyProperties 不复制任何字段