首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin多平台手机能与Jetpack一起工作吗?

Kotlin多平台手机能与Jetpack一起工作吗?
EN

Stack Overflow用户
提问于 2021-03-26 04:38:24
回答 3查看 2.9K关注 0票数 4

有两个问题不允许在这些技术之间产生兼容性。

喷气式组合

第一个问题是它只适用于。

  • Android Studio 4.2 Beta 6

是一个预览功能,只在Android的金丝雀版本中包含对撰写的支持。要在应用程序项目中使用撰写,请下载并安装最新版本的IDE。

Jetpack与以下内容一起工作:

  • 安卓工作室金丝雀
  • 科特林1.4.30
  • distributionUrl: 6.8.2
  • AGP: 7.0.0-字母11
  • JavaVersion.VERSION_11

Kotlin多平台移动电话

第二个问题是Android构建在中有一个bug。我使用的方法如下:

  • 安卓工作室北极福克斯2020.3.1金丝雀11
代码语言:javascript
复制
Android Studio Arctic Fox | 2020.3.1 Canary 11
Build #AI-203.7148.57.2031.7209405, built on March 15, 2021
Runtime version: 11.0.8+0-b944-P17168821 amd64
VM: OpenJDK 64-Bit Server VM by N/A
Current Desktop: ubuntu:GNOME
  • gradle-wrapper.properties
代码语言:javascript
复制
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip
  • build.gradle (Project)
代码语言:javascript
复制
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.0-alpha11'
    }
}
  • JavaVersion.VERSION_11

错误(发行/KT-43944):

代码语言:javascript
复制
A problem occurred configuring project ':kmm_shared'.
> Configuration with name 'testApi' not found.
* Exception is:
Caused by: org.gradle.api.artifacts.UnknownConfigurationException: Configuration with name 'testApi' not found.

KMM目前唯一的解决办法是使用Android Studio Beta (但这与Jetpack不兼容)。

安装Android 4.2或更高版本。

鉴于此,有两个解决方案,我无法面对。编写构建或修复中的KMM错误。

应该注意的是,KMM和Jetpack使用了不同版本的AGP和gradle发行版。然后我突然想到,我不知道是否有可能,延迟版本在同一个项目中共存。

任何建议都是欢迎的。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-28 00:17:40

技术之间存在兼容性。由于在MortyComposeKMM中所做的测试,我能够调试项目中的错误。

问题/KT-43944的解决方案不适用于我,因为在buildSrc中,4.1.2中有一个gradle的依赖项,它生成了Failed to notify build listener. > Please initialize at least one Kotlin target in 'x (:x)'.类型的错误。

解决方案:

build.gradle.kts (:buildSrc)

代码语言:javascript
复制
dependencies {
    implementation("com.android.tools.build:gradle:7.0.0-alpha11")
    implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31")
}
  • 使用JavaVersion.VERSION_11

推特

票数 3
EN

Stack Overflow用户

发布于 2021-03-26 21:57:42

按照https://youtrack.jetbrains.com/issue/KT-43944中的建议,您必须在build.gradle.kts(:shared)中添加以下块作为解决办法:

代码语言:javascript
复制
android {
    configurations {
        create("androidTestApi")
        create("androidTestDebugApi")
        create("androidTestReleaseApi")
        create("testApi")
        create("testDebugApi")
        create("testReleaseApi")
    }
}
票数 1
EN

Stack Overflow用户

发布于 2021-03-27 09:44:48

您甚至可以使用AndroidStudio4.0.1在多平台中使用。唯一的问题是你失去了一些东西,比如预览。

请查看JetBrains Compose repo中的示例:

https://github.com/JetBrains/compose-jb

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66811117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档