[英]DataBinding error in multiplatform app using Kotlin Multiplatform Mobile (KMM)
[英]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 非常相似,您可以避免技術分裂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.