我怎样才能更新到最新版本?我找不到最新的gradle-plugin。
build.gradle(示例应用程序)
buildscript {
ext {
kotlin_version = '1.6.10'
kotlin_serializtion_version = '1.5.21'
kotlin_coroutines_version = "1.6.0"
moshiVersion = "1.13.0"
retrofit2_version = "2.9.0"
okhttp3_version = "4.9.0"
mockk_version = "1.12.2"
picassoVersion = "2.71828"
lifecycle_version = "2.5.0"
koin_version = "3.2.0"
barcode_scanner_version = "16.1.1"
camerax_version = "1.0.0"
camera_view_version = "1.0.0-alpha22"
stripe_version = "19.1.0"
jacoco_version = "0.8.7"
room_version = "2.4.1"
glide_version = "4.12.0"
json_version = "20180813"
kotlin_reflect_version = "1.6.10"
compose_version = '1.2.0-rc03'
espresso_version = '3.4.0'
core_testing_version = '2.1.0'
pdf_view_version = '3.2.0-beta.1'
appboy_version = '21.0.0' …Run Code Online (Sandbox Code Playgroud) android gradle kotlin android-gradle-plugin kotlin-gradle-plugin
我收到以下错误,
Unable to find method ''org.gradle.api.tasks.SourceTask org.jetbrains.kotlin.gradle.tasks.KotlinCompile.source(java.lang.Object[])''
'org.gradle.api.tasks.SourceTask org.jetbrains.kotlin.gradle.tasks.KotlinCompile.source(java.lang.Object[])'
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)
The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)
Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested …Run Code Online (Sandbox Code Playgroud) android kotlin build.gradle android-gradle-plugin kotlin-gradle-plugin
我正在为 JVM 设置一个基于 Kotlin 的多模块 Gradle 项目。由于根项目不包含任何代码,因此 Kotlin 插件只能应用于子项目。
build.gradle.kts(根项目)
plugins {
kotlin("jvm") version "1.6.20" apply false
}
subprojects {
apply(plugin = "kotlin")
group = "com.example"
repositories {
mavenCentral()
}
dependencies {}
kotlin {
jvmToolchain {
check(this is JavaToolchainSpec)
languageVersion.set(JavaLanguageVersion.of(11))
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试设置工具链会导致构建在kotlin {...}扩展处失败:
Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public fun DependencyHandler.kotlin(module: String, version: String? = ...): Any defined in org.gradle.kotlin.dsl
public fun PluginDependenciesSpec.kotlin(module: String): PluginDependencySpec defined …Run Code Online (Sandbox Code Playgroud) gradle kotlin gradle-kotlin-dsl gradle-multi-project-build kotlin-gradle-plugin
我在 android studio 中创建了一个新的 flutter 项目,然后“打开项目”它的 android 部分,我在 MainActivity.kt 中遇到了一个错误,但是它构建成功。
我的课程路径是:
最后我的依赖项是:
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.70"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮助我,我将不胜感激。
我试图在我的 kotlin 项目中使用测试装置。不幸的是,我在工具链的一个组件中遇到了一个奇怪的问题,可能是一个错误(不确定是哪个)。
通常,可以从同一包中的单元访问已main声明的 Kotlin 函数。有许多证据支持这一说法,尤其是Kotlin:使单元测试可见的内部函数internaltest
事实上,如果我们有src/main/kotlin/ main.kt:
@file:JvmName("Main")
package org.example.broken_test_fixtures
internal fun sayHello(who: String): String = "Hello, $who!"
fun main() {
println(sayHello("world"))
}
Run Code Online (Sandbox Code Playgroud)
和src/test/kotlin/SayHelloTest.kt:
package org.example.broken_test_fixtures
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
class SayHelloTest {
@Test
fun testSayHello() {
val expected = "Hello, world!"
val actual = sayHello("world")
assertEquals(actual, expected)
}
}
Run Code Online (Sandbox Code Playgroud)
测试通过常规build.gradle.kts成功通过:
plugins {
kotlin("jvm") version "1.3.61"
}
group = "org.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral() …Run Code Online (Sandbox Code Playgroud) unit-testing gradle kotlin java-test-fixtures kotlin-gradle-plugin
如何从 buildSrc 插件应用 Kotlin 插件?
\n我有一个 Kotlin 项目,其 build.gradle.kts 文件包含以下内容:
\nplugins {\n application\n kotlin("jvm")\n kotlin("plugin.serialization")\n}\nRun Code Online (Sandbox Code Playgroud)\n我想在 buildSrc 中创建一个自定义插件:
\nimport org.gradle.api.Plugin\nimport org.gradle.api.Project\nimport org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper\n\nclass MyPlugin: Plugin<Project> {\n override fun apply(project: Project) {\n project.pluginManager.apply("org.gradle.application") //This works\n project.pluginManager.apply("\xc2\xbfkotlin(jvm)?") //<-- Here is my doubt\n project.pluginManager.apply("\xc2\xbfkotlin(plugin.serialization)?") //<-- Here is my doubt\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n并像这样使用它:
\nplugins {\n id("com.example.myplugin")\n}\nRun Code Online (Sandbox Code Playgroud)\n gradle gradle-plugin gradle-kotlin-dsl kotlin-gradle-plugin buildsrc
这三个 Kotlin 插件有什么区别,它们的实际用途是什么?
plugins {
id 'kotlin-android'
id 'org.jetbrains.kotlin.android'
id "org.jetbrains.kotlin.jvm" version "1.6.20"
}
Run Code Online (Sandbox Code Playgroud)
第三种似乎是推荐的方式,特别是在使用Kotlin 协程时
我正在尝试将android()构建目标添加到 Kotlin 多平台库,以便我可以为 android 目标添加特定的库。所有其他目标(jvm、linux、ios)都工作正常,但 android 似乎有问题,因为 KotlinSourceSet 没有像其他目标一样创建。
这就是我收到错误的地方:
未找到名为“androidMain”的 KotlinSourceSet。
我想知道,我必须手动添加 SourceSet 吗?我是否错过了一些关键的构建步骤?
这是我的gradle.build.kts
plugins {
id("maven-publish")
kotlin("multiplatform") version "1.8.0"
}
buildscript {
repositories {
google()
}
dependencies {
classpath ("com.android.tools.build:gradle:4.2.2")
classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0")
}
}
group = "zzz.xxxx"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
kotlin {
jvm()
linuxX64("linux")
ios()
android()
sourceSets {
val commonMain by getting {
dependencies {
implementation("...")
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
}
}
val jvmMain …Run Code Online (Sandbox Code Playgroud) gradle kotlin android-gradle-plugin kotlin-multiplatform kotlin-gradle-plugin
嘿伙计们,我怎样才能更新到最新版本,因为我找不到最新的gradle-plugin。有人可以指导我吗?
构建.gradle(:应用程序)
plugins {
id "com.android.application"
id "org.jetbrains.kotlin.android"
}
android {
namespace "com.abc.xyz"
compileSdk 34
defaultConfig {
applicationId "com.abc.xyz"
minSdk 24
targetSdk 34
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion compose_compiler_version
}
packagingOptions {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
} …Run Code Online (Sandbox Code Playgroud) android gradle kotlin android-gradle-plugin kotlin-gradle-plugin
该官员科特林文档状态:
将
kotlin.code.style=official属性添加到项目根目录的 gradle.properties 文件中。
我试图了解kotlin-gradle-plugin如何处理此属性。
哪个 gradle 任务使用它?
运行时gradle build,我没有看到我的代码被重新格式化,即使我故意格式化我的代码也是如此。
我浏览了插件的Github 源代码,但无法正确理解它。
谢谢你的帮助。
当我在 Android 插件项目中将 kotlin-gradle-plugin 版本从 1.5.0 升级到 1.7.20 时,出现此异常。
\n\n我使用这段代码build.gradle
compileGroovy.classpath += files(compileKotlin.destinationDir)\nRun Code Online (Sandbox Code Playgroud)\n怎么解决\xef\xbc\x9f
\n我的 evn 是:
\nandroid android-gradle-plugin gradle-plugin gradle-kotlin-dsl kotlin-gradle-plugin
我正在按照 github 上的教程在 Kotlin 1.4-M2 的多平台项目中使用 Kotlin seriazliation 进行测试驱动,但我没有得到要编译的序列化位。
这是我的 build.gradle.kts
plugins {
val kotlinVersion = "1.4-M2"
kotlin("multiplatform") version kotlinVersion
kotlin("plugin.serialization") version kotlinVersion
}
Run Code Online (Sandbox Code Playgroud)
repositories {
mavenCentral()
maven {
url = uri("https://dl.bintray.com/kotlin/kotlin-eap")
}
maven {
url = uri("https://kotlin.bintray.com/kotlinx")
}
jcenter()
gradlePluginPortal()
}
Run Code Online (Sandbox Code Playgroud)
kotlin {
jvm {
compilations.all {
kotlinOptions.jvmTarget = "11"
}
}
js(IR) {
moduleName = "hotel"
browser {
dceTask {
keep(
...
)
}
binaries.executable()
}
}
sourceSets {
// val serializationVersion = "0.20.0-1.4-M2"
val serializationVersion = "0.20.0" …Run Code Online (Sandbox Code Playgroud) kotlin kotlin-multiplatform kotlinx.serialization kotlin-gradle-plugin