簡體   English   中英

在 kotlin 多平台應用程序中使用顫振模塊

[英]Using flutter module in kotlin multiplatform app

我使用 kotlin 多平台創建了一個應用程序,現在我想使用 Flutter 開發一次 UI。 我按照教程將 Flutter 集成到現有的 Android 應用程序中,並選擇選項 B一步編譯所有內容。

第一個麻煩是將 Flutter 模塊作為子項目包含在宿主應用程序中:在 kotlin 多平台項目中,我必須將settings.gradle.kts重命名為settings.gradle 然后我有另一個我無法擺脫的錯誤: Caused by: java.lang.AssertionError: Project :app doesn't exist. To custom the host app project name, set 'org.gradle.project.flutter.hostAppProjectName=<project-name>' in gradle.properties.. Expression: (appProject != null). Values: appProject = null Caused by: java.lang.AssertionError: Project :app doesn't exist. To custom the host app project name, set 'org.gradle.project.flutter.hostAppProjectName=<project-name>' in gradle.properties.. Expression: (appProject != null). Values: appProject = null

我理解錯誤的含義:對於 kotlin 多平台,該項目不稱為app而是應用程序的名稱,在我的情況下是MusicTraining 正如 kotlin 文檔中提到的那樣:

提示:默認情況下,宿主應用程序提供:app Gradle 項目。 要更改此項目的名稱,請在 Flutter 模塊的 gradle.properties 文件中設置 flutter.hostAppProjectName 。 最后,將此項目包含在下面提到的宿主應用程序的 settings.gradle 文件中。

因此,在顫振模塊的 gradle.properties 文件中,我嘗試添加以下行:

  • flutter.hostAppProjectName="MusicTraining"
  • flutter.hostAppProjectName=":MusicTraining"

我仍然有同樣的錯誤。

我嘗試使用 vscode 將:app的所有實例更改為:MusicTraining但沒有任何效果。 我仍然有同樣的錯誤。

如錯誤所述,我嘗試添加該行

  • org.gradle.project.flutter.hostAppProjectName="MusicTraining"
  • org.gradle.project.flutter.hostAppProjectName=":MusicTraining"

在顫振模塊的 gradle.properties 文件中,但仍然是同樣的錯誤。

如何在 kotlin 多平台應用程序中集成顫振模塊?

嘗試使用 Flutter 模塊和根項目將flutter.hostAppProjectName=MusicTraining添加到 gradle.properties 文件中。

注意:運行你的本地應用程序,如果你運行 main.dart,你仍然會得到這個錯誤

我面臨同樣的問題,這對我有用。

如果您已經有一個 Kotlin 多平台項目,我會使用 Jetbrains Compose 多平台而不是 Flutter。 Compose 與 Flutter 非常相似,您可以避免技術分裂。

https://www.jetbrains.com/de-de/lp/compose-mpp/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM