如果我的 phone 是 ARMv8,为什么 Android Studio 将 C++ 编译为 ARMv7?
Why Android Studio compiles C++ to ARMv7 if my phone is ARMv8?
我有一个 Mi 9 phone,它有一个 SnapDragon 855,据我所知 运行s ARMv8。
我在 Android Studio 中创建了一个简单的 C++ NDK 项目,并尝试 link 为 ARMv8 的 aarch64 编译的库,但是它会抱怨,因为它正在尝试为 ARMv7 编译。
我认为 ARMv7 可以在 ARMv8 上 运行,但为什么要这样做?是否可以强制进行 ARMv8 编译?我只有 ARMv8 版本的库。
修改 build.gradle 如下:
defaultConfig {
ndk {
abiFilters 'arm64-v8a'
}
}
处解释解决方案
我有一个 Mi 9 phone,它有一个 SnapDragon 855,据我所知 运行s ARMv8。
我在 Android Studio 中创建了一个简单的 C++ NDK 项目,并尝试 link 为 ARMv8 的 aarch64 编译的库,但是它会抱怨,因为它正在尝试为 ARMv7 编译。
我认为 ARMv7 可以在 ARMv8 上 运行,但为什么要这样做?是否可以强制进行 ARMv8 编译?我只有 ARMv8 版本的库。
修改 build.gradle 如下:
defaultConfig {
ndk {
abiFilters 'arm64-v8a'
}
}