【问题标题】:Why Android Studio compiles C++ to ARMv7 if my phone is ARMv8?如果我的手机是 ARMv8,为什么 Android Studio 将 C++ 编译为 ARMv7?
【发布时间】:2020-06-21 01:43:20
【问题描述】:

我有一部小米 9 手机,它有一个骁龙 855,据我所知运行 ARMv8。

我在 Android Studio 中创建了一个简单的 C++ NDK 项目,并尝试链接为 ARMv8 的 aarch64 编译的库,但它抱怨,因为它正在尝试为 ARMv7 编译。

我认为 ARMv7 可以在 ARMv8 上运行,但为什么会这样呢?是否可以强制进行 ARMv8 编译?我只有 ARMv8 版本的库。

【问题讨论】:

  • 您希望手机比您旧的人能够运行您的应用吗?
  • @JosephSible-ReinstateMonica 现在我只想测试 .so,因为我只有 armv8。有可能吗?
  • 它可能正在尝试为两者编译,或者出于某种原因,该项目可能仅针对 armv7 设置。如果没有任何构建文件或更多信息,我们将无法提供帮助。

标签: android c++ android-ndk arm


【解决方案1】:

修改 build.gradle 如下:

defaultConfig {

    ndk {
        abiFilters 'arm64-v8a'
    }
}

【讨论】:

    【解决方案2】:

    解决方案可能在https://developer.android.com/ndk/guides/abis进行解释

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      相关资源
      最近更新 更多