我有一个M1 Max芯片运行蒙特利的Mac (12.3.1)。我正在运行(2021.2.1修补程序1)。由于我更新了操作系统和工作室,我在运行Android方面遇到了挑战。我的代码在编译期间抛出了以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeInternalDebugResources'.
> Multiple task action failures occurred:
> A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable
> AAPT2 aapt2-7.0.3-7396180-osx Daemon #0: Daemon startup failed
This should not happen under normal circumstances, please file an issue if it does.
> A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable
> AAPT2 aapt2-7.0.3-7396180-osx Daemon #1: Daemon startup failed
....
Caused by: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-7.0.3-7396180-osx Daemon #7: Daemon startup failed
This should not happen under normal circumstances, please file an issue if it does.
at com.android.builder.internal.aapt.v2.Aapt2Daemon.handleError(Aapt2Daemon.kt:193)
at com.android.builder.internal.aapt.v2.Aapt2Daemon.handleError$default(Aapt2Daemon.kt:190)
at com.android.builder.internal.aapt.v2.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:77)
at com.android.builder.internal.aapt.v2.Aapt2Daemon.compile(Aapt2Daemon.kt:100)
at
com.android.builder.internal.aapt.v2.Aapt2DaemonManager$LeasedAaptDaemon..compile(Aapt2DaemonManager.kt:170)
.....
Caused by: java.io.IOException: Cannot run program "/Users/myuser/.gradle/caches/transforms-3/83c6baf2eeddcf66af012c889d39d1c1/transformed/aapt2-7.0.3-7396180-osx/aapt2": error=86, Bad
CPU type in executable
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.startProcess(Aapt2DaemonImpl.kt:86)
at com.android.builder.internal.aapt.v2.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:56)
... 37 more
Caused by: java.io.IOException: error=86, Bad CPU type in executable
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
... 40 more
由于这是AAPT错误,我转到文件夹30.0.2并尝试从终端本身运行它,它给出了以下错误(对于AAPT和AAPT2):
zsh: bad CPU type in executable: ./aapt2
我试着从32.1.0Rc1和33.0.0-rc4中运行相同的代码,它运行得很完美。因此,我尝试从.gradle和.android文件夹中删除/Users位置,从studio工作区删除.gradle。然后从sdk管理器中移除其他构建工具,并再次构建apk。但令我惊讶的是,gradle正在寻找30.0.2构建工具
License for package Android SDK Build-Tools 30.0.2 accepted.
Preparing "Install Android SDK Build-Tools 30.0.2 (revision: 30.0.2)".
"Install Android SDK Build-Tools 30.0.2 (revision: 30.0.2)" ready.
Installing Android SDK Build-Tools 30.0.2 in /Users/myuser/Library/Android/sdk/build-tools/30.0.2
"Install Android SDK Build-Tools 30.0.2 (revision: 30.0.2)" complete.
"Install Android SDK Build-Tools 30.0.2 (revision: 30.0.2)" finished.
所以我假设这个版本的工作室对构建工具有一个最低的要求,所以这就是它下载它的原因!但仍然期待它下载一个正常工作的一个!但还是给了我同样的AAPT错误!!
知道为什么AAPT/AAPT 2不适合我吗?
感谢预先和快乐的编码!!
发布于 2022-06-08 22:30:05
最后解决了在启动后,安全模式和重新安装罗塞塔2 !!
https://stackoverflow.com/questions/72512054
复制相似问题