我正在 Android Studio 中使用 Kotlin 和 Jetpack Compose 构建一个基本的计算器应用程序。为了评估表达式字符串,我想使用 exp4j 库。
要使用它,我在依赖项部分的应用程序级别 gradle 文件中添加了
implementation 'net.objecthunter:exp4j:0.4.9'
。
现在,当我同步项目时,如果该行的语法没有明显错误,编译器会抛出错误
Unexpected tokens (use ';' to separate expressions on the same line)
。
这是整个错误:
e: file:///home/-----/AndroidStudioProjects/BasicCalculator/app/build.gradle.kts:54:20: Unexpected tokens (use ';' to separate expressions on the same line)
我正在使用 Manjaro 操作系统和 Gnome DE。 Android Studio 版本是
Android Studio Koala Feature Drop | 2024.1.2 Patch 1
Build #AI-241.19072.14.2412.12360217, built on September 12, 2024
Runtime version: 17.0.11+0-17.0.11b1207.24-11852314 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 6.9.12-3-manjaro
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Registry:
ide.experimental.ui=true
Current Desktop: GNOME
我做错了什么?请帮忙。
我尝试清理并重建、使缓存无效并将 Android Studio 更新到最新版本,但似乎没有任何效果
我的猜测是屏幕截图来自的文件名为
build.gradle.kts
。这意味着您正在使用 Kotlin 语法编写 Gradle 指令。
我在依赖项部分的应用程序级 gradle 文件中添加了实现“net.objecthunter:exp4j:0.4.9”。
如果您正在编辑
build.gradle
,使用 Groovy 语法,那就没问题了。 Groovy 支持单引号字符串常量,但 Kotlin 不支持。
将
implementation 'net.objecthunter:exp4j:0.4.9'
替换为 implementation "net.objecthunter:exp4j:0.4.9"
,以使用双引号而不是单引号作为字符串常量的分隔符。
请注意,
net.objecthunter:exp4j
已经大约七年没有更新了,表明它不再被维护。请小心使用未维护的库,因为它们可能包含安全错误、兼容性问题等。