tam*_*ajr 8 mobile cross-platform gradle kotlin kotlin-multiplatform-mobile
我刚刚通过 KMM 插件创建了一个新的 KMM 项目,但我无法在项目的 Xcode iosApp 部分中运行甚至调试。当我尝试从 Android Studio 运行 iosApp 时,构建过程失败(命令 PhaseScriptExecution 失败,退出代码非零)
最终的建筑线条是:
失败:构建失败并出现异常。
编译完成,但有错误
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。
在https://help.gradle.org获取更多帮助
8 秒内构建失败 1 个可操作任务:执行了 1 个命令 PhaseScriptExecution 失败,退出代码为非零
** 构建失败 **
以下构建命令失败:PhaseScriptExecution Run\ Script /Users/tamegajr/AndroidStudioProjects/TesteKMM5/build/ios/iosApp.build/Release-iphonesimulator/iosApp.build/Script-7555FFB5242A651A00829871.sh(1 次失败)
任何人都可以帮助解决这个问题吗?
小智 9
工作/测试日期 - 2023 年 7 月 1 日
什么对我有用?
打开 Android Studio设置/首选项
MAC 用户 - Android Studio -> 设置
或 cmd + ,
搜索“Gradle”
在Gradle JDK下拉列表中,选择Oracle Open JDK-20 如果您没有看到 Oracle Open JDK 20 - 那么选择下载 JDK选项并下载版本 20。
同步 Gradle 就完成了!
希望它可以帮助某人...
就我而言,XCode 的 JAVA_HOME 变量导致了问题。
将这两行添加到构建脚本中,在 gradlew 任务之前。(我使用的是Android Studio内置的JDK。如果你想使用其他JDK,你应该更改下面代码中的JAVA_HOME和JDK_HOME路径。)
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home/
export JDK_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/
Run Code Online (Sandbox Code Playgroud)
你的最终构建脚本应该是这样的;
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home/
export JDK_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/
cd "$SRCROOT/.."
./gradlew :shared:embedAndSignAppleFrameworkForXcode
Run Code Online (Sandbox Code Playgroud)
tam*_*ajr -1
经过对 2-3 个月前的 KMM 示例项目进行一些代码审查并将其与新项目进行比较后,我找到了在尝试在 Ios 模拟器上运行 iosApp 时构建失败的解决方案,只需将此更改应用于 root 上的 build.gradle.kts项目:
从 KMM 插入中,您将获得(依赖项):
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10")
Run Code Online (Sandbox Code Playgroud)
将其更改为:
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31")
Run Code Online (Sandbox Code Playgroud)
就是这样,问题解决。我希望 Jetbrains 上的人可以在 KMM 插件的未来更新中解决这个问题。
2020 年 8 月 30 日:
Jetbrains 似乎已经纠正了一些问题,现在您可以使用版本 1.7.10(目前最后一个稳定版本)构建并运行 KMM 项目。
顺便说一句,如果您有任何问题,值得查看这篇有关 Android Studio 使用的 JDK 版本的堆栈溢出帖子:How to set or change the default Java (JDK) version on macOS?
构建 iosApp 时出现多平台错误:命令 PhaseScriptExecution 失败,退出代码非零
| 归档时间: |
|
| 查看次数: |
3407 次 |
| 最近记录: |