多个APK适用于不同的ARM CPU

时间:2016-09-12 21:25:02

标签: android android-ndk google-play

我正在开发一个应用程序,它大量使用本机代码并需要性能。 GCC编译器可以针对不同类型的处理器优化代码:Cortex-A9,Cortex-A7,Cortex-A15等。有些ARMv7处理器甚至没有NEON指令或部分实现它。无论如何,GCC知道它。

我希望在每台设备上获得最佳性能。但是,当我使用idiv支持构建我的应用程序时,应用程序会立即崩溃,例如,在Tegra 2上。编译Cortex-A15可以提高性能,但编译后的代码无法在Cortex-A9上运行。

那么有没有办法不仅通过CPU ABI发布多个APK,还可以发布CPU模型?

1 个答案:

答案 0 :(得分:0)

不幸的是,您无法获得比CPU ABI更精细的粒度。

您可以使用NDK中的cpufeatures在运行时检查cpu功能,并加载正确的库或代码路径。