用于 sqldelight 生成的 Gradle 构建失败,第 17:10 行 - '{' 预期,得到 ':' Android Studio 版本 4.1.2

问题描述

我正在将一个可用的 Android Studio 应用程序转换为 KMM 环境。在这一点上,我有一个非常简单的 KMM 框架。将 sqlDelight 添加到常用包后,我开始在构建中收到以下错误。我检查了我能找到的每个例子,但看不出有什么问题。如果可以,请帮忙?

这是错误信息:

生成失败;有关详细信息,请参阅生成错误输出 Task :shared:generateAndroidDebugPicturesDBInterface Failed 警告:已访问注册表项“psi.track.invalidation”,但尚未加载

警告:访问了注册表项“psi.incremental.reparse.depth.limit”,但尚未加载

警告:访问了注册表项“ide.hide.excluded.files”,但尚未加载

C:/Users/pagel/AndroidStudioProjects/DailyNasa/shared/src/commonMain/sqldelight/com/pagetyler/shared/cache/Pictures.sq 第 17:10 行 - '{' 预期,得到 ':' 17 :

                           **^**

任务“:shared:generateAndroidDebugPicturesDBInterface”的执行失败。 生成失败;有关详细信息,请参阅生成错误输出。 `

处理它应该用来生成表和查询的 .sq 文件失败。当它在指定第一个查询标签后遇到文件中的第一个“:”时。这是 .sq 文件脚本。在指定的第一个查询标签 getAllPict: 之后构建失败。

这是 .sq 文件

CREATE TABLE Daily_Pictures (
    "date_loaded"       TEXT NOT NULL PRIMARY KEY,"copyright"         TEXT NOT NULL,"image_explanation" TEXT NOT NULL,"hd_url_string"     TEXT NOT NULL,"media_type"        TEXT NOT NULL,"service_version"   TEXT NOT NULL,"picture_title"     TEXT NOT NULL,"picture_url_string"    TEXT NOT NULL,"picture_file_reg"  TEXT NOT NULL,"picture_file_hd"   TEXT NOT NULL,"picture_On_DB" INTEGER AS Boolean DEFAULT NULL,"picture_Favorite"  INTEGER AS Boolean DEFAULT NULL,"storeDate" TEXT NOT NULL DEFAULT 0
);

getAllPict:
select  dp.date_loaded,dp.copyright,dp.hd_url_string,dp.image_explanation,dp.media_type,dp.picture_Favorite,dp.picture_On_DB,dp.picture_file_hd,dp.picture_file_reg,dp.picture_title,dp.picture_url_string,dp.service_version,dp.storeDate
  from  "Daily_Pictures" dp;}
    
insertPic:
INSERT OR REPLACE INTO Daily_Pictures(date_loaded,copyright,image_explanation,hd_url_string,media_type,service_version,picture_title,picture_url_string,picture_file_reg,picture_file_hd,picture_On_DB,picture_Favorite,storeDate)
    Values(?,?,?);
                            
updatePic:
INSERT OR REPLACE INTO Daily_Pictures(date_loaded,?);
                            
getPicByKey:
    SELECT * from Daily_Pictures where date_loaded = ?;

delAllPict:
    DELETE FROM Daily_Pictures;

delPictByKey:
    DELETE FROM Daily_Pictures where date_loaded = ?;

cleanUpDB:
    delete from Daily_Pictures where storeDate < ? and (not picture_Favorite and not picture_On_DB);

cleanUpFavorites:
    delete from Daily_Pictures where storeDate < ? and (picture_Favorite);

新版本直到第一个错误。更新了 2020-3-5 相同的结果

    getAllPict:
    select  dp.date_loaded,dp.storeDate
    from  "Daily_Pictures" dp;

解决方法

这里有一个不应该出现的花括号:

from "Daily_Pictures" dp;}