求助 [M1] 打包安卓 APP ABI x86失败

  • Creator 版本: 2.1.4

  • 目标平台: Android

  • 重现方式:当选择 APP ABI x86会打包失败

  • 之前哪个版本是正常的: Windows

  • 编辑器操作系统: Macbook M1

我尝试使用 Macbook M1打包安卓,当我选择其他的APP ABI都不会失败,但是选择x86就会失败,有安装rosette 2了,
也更改了ndk-build 成

#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
arch -x86_64 /bin/bash $DIR/build/ndk-build "$@"

但是还是不成功,就只是x86失败

求助,谢谢大家

m1 是 arm cpu 不是 intel的

这个我明白
但是就没有办法打包x86吗?
M1可以打开intel的程序
但是无法打包吗?

亲测M1改了ndk-build可以打包。检查下是不是哪里没设置对

我使用ndk 20的,会不一样吗?您是用什么ndk?

  • What went wrong:
    Execution failed for task ‘:xxx:generateJsonModelRelease’.

Build command failed.
Error while executing process /Users/xxx/Library/Android/sdk/ndk/android-ndk-r20b/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/Users/xxx/Development/CocosProject/xxx/build/Android/jsb-link/frameworks/runtime-src/proj.android-studio/app/jni/Android.mk NDK_APPLICATION_MK=/Users/xxx/Development/CocosProject/xxx/build/Android/jsb-link/frameworks/runtime-src/proj.android-studio/app/jni/Application.mk APP_ABI=x86_64 NDK_ALL_ABIS=x86_64 NDK_DEBUG=0 APP_PLATFORM=android-16 NDK_OUT=/Users/xxx/Development/CocosProject/xxx/build/Android/jsb-link/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/release/obj NDK_LIBS_OUT=/Users/xxx/Development/CocosProject/xxx/build/Android/jsb-link/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/release/lib NDK_TOOLCHAIN_VERSION=clang NDK_MODULE_PATH=/Applications/CocosCreator.app/Contents/Resources/cocos2d-x:/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos:/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external -j8 NDK_DEBUG=0 APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
/Users/xxx/Library/Android/sdk/ndk/android-ndk-r20b/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting . Stop.
Android NDK: ERROR:/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/Android.mk:cocos_zlib_static: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/x86_64/libz.a exists or that its path is correct

和cocoscreator版本有关吧。2.4.5开始支持m1

我尝试了
在 gradle.properties
PROP_APP_ABI=arm64-v8a:armeabi-v7a:x86
是没问题

但是如果是
PROP_APP_ABI=x86_64:arm64-v8a:armeabi-v7a:x86
就打包失败

最新的ndk 24不再需要Rosetta转译 build包时间缩短一半 美滋滋 :grinning:

这个问题很可能是svn默认不上传.a文件导致的。
查看下报错的目录下有没有对应的libz.a,如果没有就从引擎目录下拷贝过来。
image

2.4.13 用M1 打包也遇到了跟你一样的问题。

arch -x86_64 /bin/bash $DIR/build/ndk-build "$@"

这条指令只是让x86_64能打出来,但是x86依旧不行

请问你后续有找到解决方案了吗