【问题标题】:Android NDK Apple SiliconM1 run into: Unknown host CPU architecture arm64Android NDK Apple SiliconM1 遇到:未知主机CPU架构arm64
【发布时间】:2021-12-01 01:25:17
【问题描述】:

用NDK构建Android有两种

cmake

externalNativeBuild {
    cmake {
        path "../sharedCode/CMakeLists.txt"
    }
}

这适用于 Apple Silicon M1 ????

ndk 构建

externalNativeBuild {
    ndkBuild {
        path "src/main/jni/Android.mk"
    }
}

在我遇到的 Apple Silicon M1 上

Unknown host CPU architecture arm64

问题是解决这个问题?

【问题讨论】:

标签: android android-ndk apple-m1 apple-silicon


【解决方案1】:

为了在 Apple Silicon M1 上解决这个问题,我找到了三个选项

一个

使用 NDK 24

android {
    ndkVersion "24.0.7956693" // beta 2
    ...
}

你可以安装它

echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install 'ndk;24.0.7956693' --channel=3 1>/dev/null

B

将您的 ndk-build 转换为 cmake 构建

C

更改您的 ndk-build 以使用 Rosetta x86。用

搜索你安装的ndk
find ~ -name ndk-build 2>/dev/null

例如

vi ~/Library/Android/sdk/ndk/22.1.7171670/ndk-build

改变

DIR="$(cd "$(dirname "$0")" && pwd)"
$DIR/build/ndk-build "$@

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

D

使用 x86 Android Studio 版本。但这很慢

【讨论】:

猜你喜欢
  • 2021-12-01
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
  • 2018-08-08
  • 2018-08-16
  • 2015-10-17
  • 1970-01-01
  • 2019-10-03
相关资源
最近更新 更多